2012-06-01ãã1ã¶æéã®è¨äºä¸è¦§
ç¹ã«æå³ã¯ããã¾ããããyoutube ã« Vim ã®åä½ããã£ããã£ããåç»ãä¸ãã¦ã¿ã¾ããã ãããã¯å²ãã¨ä»ã®äººã® Vim ç°å¢ãæ°ã«ãªããã§ããã©ãä»äººã«ã¯éè¦ããããããã ãã£ããã£ããåç»ãã¢ãããã¼ãããã ããªã®ã§ãããªã«é£ãããªãã£ãã§ããâ¦
Boost 1.50.0 ããªãªã¼ã¹ããã¾ããã Version 1.50.0 Boost 1.50.0 ãªãªã¼ã¹ãã¼ã(æ¥æ¬èªç) [Clang 㧠Boost.Proto ã使ç¨ããå ´åã®ä¸å ·å] ããããå ã»ã©æãã¦é ããã®ã§ãããclang 3.1(-std=gnu++11) 㧠Boost.Proto ã使ç¨ããã¨ã³ã³ãã¤ã«ã¨ã©ã¼â¦
ä»ã¾ã§ã¯ g:quickrun_config ã«ç¡çãã追å ãã¦ãããã§ãããquickrun-hook ã§å¦çããã»ãããã£ããããããªã®ã§ãã£ã¦ã¿ã¾ããã [ã½ã¼ã¹] let s:hook = { \ "name" : "add_include_option", \ "kind" : "hook", \ "config" : { \ "enable" : 0, \ }, \â¦
Boost.TypeErasure ã§å¦çãå¼ã³åºãéã«å ã®åã«ãã£ã¹ããã¦æ¸¡ãã¦ãã¾ãã template<class C, class T> struct push_back { static void apply(C& cont, const T& arg) { cont.push_back(arg); } }; std::vector<int> vec; any<push_back<_self, int>, _self&> c(vec); int i = 10; call(push_back<_self, int>(), c</_self,></push_back<_self,></int></class>â¦
ãããªæãã§ã©ããã [ã½ã¼ã¹] #include <boost/preprocessor/repetition/enum.hpp> #include <sprout/string.hpp> #include <sprout/cstdlib.hpp> #include <sprout/operation.hpp> template<std::size_t Index, typename String> constexpr char at_c(String const& str){ return Index >= str.length() ? char('\0') : str[Index]; }â¦</std::size_t></sprout/operation.hpp></sprout/cstdlib.hpp></sprout/string.hpp></boost/preprocessor/repetition/enum.hpp>
以åã:QuickHaskell ã¨ããã³ãã³ããä½æãããã§ããããã®æã«æãã¦ãããã¾ããã ãã®2ã¤ã® module ã使ç¨ããã¨æ¯è¼çç°¡åã« :QuickHaskell ãå®ç¾©ãããã¨ãåºæ¥ã¾ãã [ã½ã¼ã¹] let g:quickrun_config["haskell/interpreter"] = { \ "outputter" :â¦
ååã®ç¶ãã§ãã ååã¯äºãå point ãä½æãã¦å¾ããæå¹ã«ãã¦ãã¾ããããä»å㯠init å ã§å¿ è¦ãª point ãä½æãã¦ãã¾ãã [ã½ã¼ã¹] let s:hook = { \ "name" : "test2", \ "kind" : "hook", \ "config" : { \ "enable" : 1, \ "points" : "" \ }, \}â¦
quickrun-hook 㯠point ã¨æ©è½ã対ã«ãã¦ä½æãã¦ããã®ã§ success_close_buffer failure_close_buffer exit_close_quickfix ã®ãããªæãã«ãªã£ã¦ãã¾ãã ããããããã§ã¯ point ãã¨ã« hook ãä½æããªããã°ãªãã¾ããã æµç³ã« point ãã¨ã« hook ãâ¦
ã¾ãã«èª°å¾ã [ã½ã¼ã¹] command! -nargs=+ Factorial \ execute [<f-args>][1] == 0 \ ? 'echo [ <f-args> ][0]' \ : 'Factorial '.([<f-args>][0]*[<f-args>][1]).' '.([<f-args>][1]-1) [ã³ãã³ã] :Factorial 1 4 [åºå] 24 command ã ã¨å¤ãè¿ããªãï¼è¿ãæ¹æ³ãæãã¤ããªãã£ãï¼ã®ã§å¼æ°ã2ã¤</f-args></f-args></f-args></f-args></f-args>â¦
ä¾ãã°ä¸è¨ã®æ§ãªæ¸ãæ¹ã [ã³ã¼ã] template<typename T> struct X{ //error: constexpr static data member 'value' must have an initializer static constexpr T value; }; template<typename T> constexpr T X<T>::value = {}; constexpr ã使ããã¨ãã£ããä¸è¨ã®ãããªæ¸ãæ¹ãã</t></typename></typename>â¦
Haskell ã§å¯¾è©±å¼ã¤ã³ã¿ããªã¿ã使ç¨ããå ´å ghci ã使ãã®ã便å©ãªã®ã§ãããèµ·åããã®ãæéãªã®ã§ quickrun.vim ã使ç¨ãã¦ç°¡æçãªã³ãã³ããå®ç¾©ãã¦ã¿ã¾ããã [ã³ã¼ã] " å®è¡çµæããããã¡ã§éã command! -nargs=1 QuickHaskell :execute ":Quicâ¦
ããã¦ã¾ããã quickrun.vim 0.6.0 ãªãªã¼ã¹ - æ°¸é ã«æªå®æ hook-module 便å©ãªã®ã§ Vim script ãæ¸ãã人ã¯ã©ãã©ã使ãã°ããã¨æãã¾ãã
ååã®ç¶ãã id:tyru ããã«è²ã ã¨ã³ã¡ã³ããé ãã¦ãããªæãã«ãªãã¾ããã [ã½ã¼ã¹] command! -nargs=1 Val let <args> | :execute 'lockvar '.matchstr(<f-args>, '\zs.*\ze=') Val value = 10 echo value " ä»£å ¥ã§ããªãã let value = 10 " åä»£å ¥ããå ´å㯠unlet </f-args></args>â¦
å ãã¿:åã«å³æ ¼ - ãã£ã¡ã ããããæãã Boost.MPL ã®åºçªã§ããã ã£ã¦äºã§ç°¡åã«ãã£ã¦ã¿ã¾ããã [æ¡ä»¶] 3ã¤ã®å¼æ°ã« X ã1ã¤ã§ãå«ã¾ãã¦ããé¢æ° plus ãå®ç¾©ãã [ã½ã¼ã¹] #include <boost/mpl/count.hpp> #include <boost/mpl/less_equal.hpp> #include <boost/mpl/vector.hpp> #include <boost/utility/enable_if.hpp> struct X{ X(int value) : valu</boost/utility/enable_if.hpp></boost/mpl/vector.hpp></boost/mpl/less_equal.hpp></boost/mpl/count.hpp>â¦
:lockvar ã³ãã³ãã使ç¨ãã¾ãã [ã½ã¼ã¹] let value = 42 lockvar value let value = 10 " error å¤æ°åã渡ãäºã§ããã®å¤æ°ãæ¸ãæãã§ããªãããã«ãã¾ãã 便å©ãªæ©è½ãªã®ã§ããããªã¨ããã§ä½¿ããããã§ããã© :lockvar ã«å¤æ°ã渡ããªãã¨ãã¡ãªã®â¦
jsx å´ã§ã³ã¼ãè£å®ãè¡ãæ©è½ãå®è£ ãããã®ã§ãããã使ç¨ã㦠neocomplcache ã® source ãæ¸ãã¾ããã å ã«è¡ã£ã¦ããã¨éåæã§ã¯ãªãã®ã§ã¬ã¹ãã³ã¹ãæªãã§ãã ã¾ããã³ã¼ãè£å®æ©è½ãå®è£ ããã¦ãã JSX ã® git 㯠master ã® branch ã§ã¯ãªãã®ã§æ³¨â¦
Twitter ã§æãã¦ããã£ãã®ã§è¦æ¸ã std::move ã¨ãã㨠rvalue reference ã«ãã£ã¹ãããé¢æ°ã®æ¹ãæåã ã¨æããã§ãããsequence ã®è¦ç´ ã move ãã algorithm ãããã¾ãã std::copy ã® move çã§ããã 使ãæ¹ã std::copy ãåãã§ãã [ã½ã¼ã¹] #â¦
ã¡ãã£ã¨åããã§ãããid:boleros ããã® constexpr ã©ã¤ãã©ãª Sprout ã fork ã㦠example ã pull request ã¨ããã¦ãã¾ãã GitHubã¸pull requestããéã®ãã¹ããã©ã¯ãã£ã¹ - hnwã®æ¥è¨ ã¾ãåç´ã«ãããããSprout ã® example 欲ãããã£ã¦ããã®ãâ¦
ã¡ãã£ã¨ã¤ã¤ãã¦è¦ãã®ã§ã¤ãã§ã«æ¸ãã¦ã¿ã¾ããã neocomplcache-snippets-complete-jsx - github :NeoBundle "git://github.com/osyo-manga/neocomplcache-snippets-complete-jsx.git" JSX æ´5æéã®è¼©ãæ¸ããã®ã§ãæ°ã«ãªã£ãé¨åãããã° fork ãããªâ¦
ãããªæãã [ã½ã¼ã¹] let s:hook = { \ "name" : "kao", \ "kind" : "hook", \ "is_success" : 0, \ "config" : { \ "enable" : 1 \} \} function! s:hook.on_success(...) let self.is_success = 1 endfunction function! s:hook.on_failure(...) let selâ¦
ã¡ã³ãé¢æ°ãå¼ã³åºãã¯ã©ã¹å®ç¾©ã¨ç¹æ®åãè¡ããã¨ã§æ¡å¼µããäºãåºæ¥ã¾ãã push_back ã¡ã³ãé¢æ°ãå¼ã³åºãå ´åã¯ãããªæãã«ãªãã¾ãã [ã½ã¼ã¹] #include <boost/type_erasure/any.hpp> #include <boost/type_erasure/any_cast.hpp> #include <boost/type_erasure/builtin.hpp> #include <iostream> #include <vector> #include <list> template<typename C, typename T> struct push_â¦</typename></list></vector></iostream></boost/type_erasure/builtin.hpp></boost/type_erasure/any_cast.hpp></boost/type_erasure/any.hpp>
ã¨ãè¨ããã¨ã§ä»¥åããæ°ã«ãªã£ã¦ãã Boost.TypeErasure ãã¡ãã£ã¨ã¤ã¤ãã¦ã¿ã¾ããã [ã½ã¼ã¹] #include <boost/type_erasure/any.hpp> #include <boost/type_erasure/any_cast.hpp> #include <boost/type_erasure/builtin.hpp> #include <boost/type_erasure/operators.hpp> #include <boost/mpl/vector.hpp> #include <iostream> struct X{ X() : value(0â¦</iostream></boost/mpl/vector.hpp></boost/type_erasure/operators.hpp></boost/type_erasure/builtin.hpp></boost/type_erasure/any_cast.hpp></boost/type_erasure/any.hpp>
TL ã«ã¡ããã£ã¨è©±ãåºã¦ããã®ã§ä¹ ã ã«è©¦ãã¦ã¿ã¾ããã ä»ã¯ ver 0.14.0 ã§ãããã ããªãæ§é ãå¤ãã£ãã¿ããã§ã以åããåé¡ã«ãªã£ã¦ããé¢æ°ãã¤ã³ã¿åããæ¹åããã¦ãã¾ããã ããã§ãã£ã¨ OGLplus å´ã®ã³ã¼ããå¤æ´ããªãã§ã Windows ã§ä½¿ç¨ã§â¦
Review Request ãåºã¦ããã¿ãããªã®ã§ãããããã¤ã¤ãã¦ã¿ããããªã¼ã¨æãã½ã¼ã¹ã³ã¼ãæ¢ãã¦ãã¾ããã svn Formal Review Request: TypeErasure ã¡ãã£ã¨éãã§ã¿ãããªã¼ã
ãã¤ãææ°çã® PStade ã®ã³ã¼ããæ¢ãã¦ããæ°ãããã®ã§è¦æ¸ã svn-trunk github github 㯠svn ã®ãã©ã¼ãªã®ã§åæ ãããã¾ã§ã«è¥å¹²ã¿ã¤ã ã©ã°ãããã¿ããã svn ã使ãããªããã£ã¡ãåç §ããã»ããããã§ããã
æ¨æ¥ã®ç¶ãã ã³ã¡ã³ã㧠oven::memoized ã使ç¨ããã°ãã¾ãããã¨æãã¦ãããã¾ããã ã¨ãããäºã§ãããªæãã«ãªãã¾ããã [ã½ã¼ã¹] #define BOOST_RESULT_OF_USE_DECLTYPE #include <iostream> #include <string> #include <vector> #include <fstream> #include <boost/range/adaptor/transformed.hpp> #include <pstade/oven/concatenated.hpp> #include </pstade/oven/concatenated.hpp></boost/range/adaptor/transformed.hpp></fstream></vector></string></iostream>
PStade.Oven ã¨ãã使ã£ã¦ä¸è¨ã®ãããªã³ã¼ãã«ãªãã¾ããã [ã½ã¼ã¹] #define BOOST_RESULT_OF_USE_DECLTYPE #include <iostream> #include <string> #include <vector> #include <fstream> #include <iterator> #include <boost/range/adaptor/transformed.hpp> #include <pstade/oven/concatenated.hpp> #include <pstade/oven/copied.hpp> int maâ¦</pstade/oven/copied.hpp></pstade/oven/concatenated.hpp></boost/range/adaptor/transformed.hpp></iterator></fstream></vector></string></iostream>
ããããã°ããããªä½¿ãæ¹ãåºæ¥ãã®ããã é¢æ°ãã³ãã¬ã¼ããç´æ¥æ¸¡ããªãã®ãæ²ãããã©é¢ç½ãã [ã½ã¼ã¹] #include <sprout/math/sqrt.hpp> template<typename T> constexpr T length(T x, T y, T z){ return sprout::sqrt(x * x + y * y + z * z); } #define BOOST_RESULT_OF_USE_DECLTYPE</typename></sprout/math/sqrt.hpp>â¦
é¢é£ï¼Experimental Clang Binaries for Mingw32/x86 ã§ã³ã³ãã¤ã©ãæ»ãã ï¼¼(^o^)ï¼ ä¸è¨ã®åé¡ã¨ LLVM 3.1 ãã½ã¼ã¹ã³ã¼ããããã«ãããå ´åã§ãã¯ã©ãã·ã¥ããã¨èããã®ã§èªåã§ãã«ããã¦è©¦ãã¦ã¿ã¾ããã ã²ã¨ã¾ããä¸è¨ã®åé¡ã«é¢ãã¦ã¯èªåã§ãã«ãâ¦
ã©ããã«ã¾ã¨ã¾ã£ã¦ããã°ä¾¿å©ããªã¼ã¨æãã¨ãããããæå ã«ãã£ãã®ãç°¡åã«ã¾ã¨ãã¦ã¿ãã [注æç¹] ããã㧠C++11 ã«é¢ãã¦èª¿ã¹ãæã®æ³¨æç¹ã§ãããå¤ãè¨èªä»æ§(C++0x)ã®ã¾ã¾æ¸ããã¦ããã³ã¼ããè¼ã£ã¦ããäºãããã¾ãã ããã°ã®è¨äºãªã©ãåèã«â¦