2012-08-01から1ヶ月間の記事一覧

のコンパイルエラーは 1.51.0 でも直っていない

関連:msvc2010 で boost::for_each を使用するとコンパイルエラーになる 上記のエラーは 1.51.0 でも直っていないので、使用される方は引き続き注意する必要があります。 [参照] http://boost.2283326.n4.nabble.com/range-Missing-include-in-boost-range-…

unite-quickrun_config を公開しました

vim

unite-quickfix と同様に自分用に使用していたんですが、github で公開しました。 unite.vim を使用して、:QuickRun で使用される -type を quickrun_config から選択して設定するための unite-source になります。 [unite-quickrun_config] unite-quickrun_…

C++Now! 読書会の日時について

C++

特にこれと言った意見も頂かなかったので、 09/02(日) 13:00〜 から行いたいと思います。 [概要] 概要:オンラインで行う C++Now! 読書会です 目的:C++Now! で発表された資料を読みながら気になった箇所や分からない箇所を発言し、情報共有と技術向上を図る…

Boost.TypeErasure で特定の関数で多重定義されているオブジェクトを保持する

さて、Boost.TypeErasure は基本的に保持する型に対してメンバ関数などを要求するのですが、次のように多重定義された関数を呼び出すことで、型に対して非侵入的に Concept を要求する事が出来ます。 [ソース] #include <boost/type_erasure/any.hpp> #include <boost/type_erasure/builtin.hpp> #include <boost/mpl/vector.hpp> #include <iostream> temp</iostream></boost/mpl/vector.hpp></boost/type_erasure/builtin.hpp></boost/type_erasure/any.hpp>…

C++Now! 読書会をやりたいと思います

C++

[追記] 日時を 09/02(日) 13:00〜 に決定しました。 色々と考えていてもしゃーないので、とりあえずやってみようかと。 [概要] 概要:オンラインで行う C++Now! 読書会です 目的:C++Now! で発表された資料を読みながら気になった箇所や分からない箇所を発言…

Boost.TypeErasure でダウンキャスト

Concept に typeid_<> を定義することで any_cast を使用したダウンキャストを行うことが出来ます。 [ソース] #include <boost/type_erasure/any.hpp> #include <boost/type_erasure/any_cast.hpp> #include <boost/mpl/vector.hpp> #include <iostream> int main(){ namespace te = boost::type_erasure; te::any< boost::mpl::vector< te::typeid_<>, te::</iostream></boost/mpl/vector.hpp></boost/type_erasure/any_cast.hpp></boost/type_erasure/any.hpp>…

Vim で名前を付けてウィンドウを split する

vim

元ネタ:Vimで画面分割して指定行に移動する - daisuzu's notes 上記の記事を読んでいて、 『既にウィンドウが開いていれば split しないでウィンドウにさせればいいんじゃないかなー』 と思ったのがきっかけ。 元々、ウィンドウ名をどうにかしたいとはいまし…

Boost.Contract

ML で Boost.Contract のレビューが開始されたというのを見て、自分もちょっと触ってみました。 Boost.Contract は契約プログラミングを行うためのライブラリみたいですね。 Boost.Contract Review Starts Today ドキュメント:http://contractpp.sourceforg…

unite-quickfix を公開しました

vim

以前から自分用には使用していたんですが、github に上げました。 [unite-quickfix] unite-quickfix - github NeoBundle "git://github.com/osyo-manga/unite-quickfix.git" [使い方] " quickfix へ出力した状態で :Unite quickfix " quickfix と同じような…

BOOST_TYPE_ERASURE_MEMBER で const なメンバ関数の呼び出し方

以前、『BOOST_TYPE_ERASURE_MEMBER では const なメンバ関数が呼び出せない』という記事を書いたのですが定義が間違っていました。 下記のように _self const を記述する事で const なメンバ関数も問題なく処理することが出来ました。 [ソース] #include <boost/type_erasure/any.hpp> #</boost/type_erasure/any.hpp>…

カーソル下の URL を短縮URL に変換する Vim script 書いた

vim

TweetVim などでツイートする場合、長い URL を短縮する機能が欲しかったので書いてみました。 カーソル下の URL を取得する処理は open-browser.vim のコードを参考にさせて頂きました。わたしは ftplugin/tweetvim_say.vim に記述して使っています。 [必要…

Boost 1.51.0 がリリース

Boost 1.51.0 がリリースされました。 Version 1.51.0 Boost 1.51.0 リリースノート(日本語版) Boost 1.51.0 では Boost.Context が追加されました。 ぼちぼち触ってみたいところ。

最近の reanimate.vim 事情

vim

今年の頭ぐらいに作成して、完全に放置プレイ状態(自分専用)だったんですが id:thinca さんに補足されてしまい、最近またちょっと触っています。 help 書きました 日本語だけですが、reanimate.vim の help を書きました。 :help reanimate で定義されてい…

TweetVim にマルチアカウントが実装された

vim

TweetVim にマルチアカウントの機能を追加してもらったので覚書。 TweetVim の multi-account branch で使用することが出来ます。 [アカウントの追加] :TweetVimAddAccount 現在ログインしているアカウントを TweetVim へと登録します。 [アカウントの切替] …

第7回vimrc読書会

vim

開催しました。 今回は ebc-2in2crc さんの vimrc を読みました。 ログや参加者などはこちらにまとめてあります。 今回は使用しているプラグインや行数が少ないという事もあって割りとあっさりとした内容でしたね。 (vimrc から派生した内容の方が盛り上が…

JavaScript でシンタックスチェック

JavaScript Lint という JavaScript のシンタックスチェックを行うツールがあるみたいなので使ってみた。 [導入] $ npm install -g jshint [quickrun_config] let s:config = { \ "javascript/syntax_check" : { \ "command" : "jshint", \ "exec" : "%c %s:…

enchant.js を触ってみた

簡単にですが、ちょっと触ってみました。 [index.html] <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <script type="text/javascript" src="enchant.js"></script> </meta></meta></meta></head></html>

BOOST_TYPE_ERASURE_MEMBER では const なメンバ関数が呼び出せない

[追記] 嘘です。 const なメンバ関数も呼び出すことが出きました。 BOOST_TYPE_ERASURE_MEMBER で const なメンバ関数の呼び出し方 BOOST_TYPE_ERASURE_MEMBER では、オブジェクトが const だった場合に const なメンバ関数が正しく呼び出せません。 どうい…

Boost.TypeErasure でタスク処理

C++ タスク処理といえば、継承を使用した多態性で実装するのが一般的(だと思う)のですが、Boost.TypeErasure でちょっと実装してみました。 [ソース] #include <boost/type_erasure/builtin.hpp> #include <boost/type_erasure/operators.hpp> #include <boost/type_erasure/iterator.hpp> #include <boost/type_erasure/callable.hpp> #include <boost/type_erasure/any.hpp> #inclu…</boost/type_erasure/any.hpp></boost/type_erasure/callable.hpp></boost/type_erasure/iterator.hpp></boost/type_erasure/operators.hpp></boost/type_erasure/builtin.hpp>

neocomplcache-snippets-ruby

neocomplcache-snippets-complete のデフォルトのスニペットがものたりなかったので色々と付け加えて書いてみた。 需要があるようであれば github にでも上げたほうがいいかしら? [ruby.snip] snippet if abbr if end if ${1:condition} ${2} end snippet i…

Ruby で FizzBuzz

Ruby だとこういうやり方もありなのかなー。 [ソース] class Integer def fizz? !fizzbuzz? && self % 3 == 0 end def buzz? !fizzbuzz? && self % 5 == 0 end def fizzbuzz? self % 15 == 0 end end 1.upto 30 do |n| puts n.fizz? ? "Fizz" : n.buzz? ? "B…

第6回vimrc読書会

vim

[ガイドライン] == 第6回vimrc読書会 == みんなで肴となるvimrcを読んであれこれ意見を出す会です 途中参加/途中離脱OK 読む順はとくに決めないので、好きなように読んで好きなように発言しましょう vimrc 内の特定位置を参照する場合は行番号で L100 のよう…

RSense

前回、うまく動作しないと言っていた RSense ですが、あのあと色々と試してみて動作したので覚書。 [Rsense] RSense ユーザーマニュアル [動作環境] WindowsXP Rsense 0.3 ruby 1.9.3p194 (2012-04-20) [i386-mingw32] [セットアップ] RSense ユーザーマニュ…

vim-ruby のオムニ補完を試してみた

Twitter で vim-ruby なるもの見かけてオムニ補完が出来るとの事なので試して見ました。 (あとで気づいたんですけどここにも vim-ruby について書いてありましたね…) [導入] NeoBundle "git://github.com/vim-ruby/vim-ruby.git" [オムニ補完] 設定とかは…

C++ で新潟

C++

いわゆる読めるけど書けないメンバ変数。 ちょっと書いてみた。 [ソース] #include <iostream> #include <type_traits> #include <string> template<typename Class, typename Type, Type Class::*PtrToMember> struct property{ property(Class& self) : self(self){} operator Type const&() const{ return get(); } Type const& get() const{ return</typename></string></type_traits></iostream>…

Boost.TypeErasure でメンバ変数っぽいのを定義する

基本的に Boost.TypeErasure ではメンバ関数を介してしか、元の型へアクセス出来ないんですが、operator T とか使ってメンバ変数でアクセスしようとするとこんな感じに。 [ソース] #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 <iostream> #include </iostream></boost/type_erasure/operators.hpp></boost/type_erasure/builtin.hpp></boost/type_erasure/any_cast.hpp></boost/type_erasure/any.hpp>

reanimate.vim の doc 書いている

vim

最近、unite-session の改良が進められていて、それに合わせて reanimate.vim が使われる可能性があるので、せこせこ doc を書いています。 doc 書くのはそんなに苦じゃないんですが、なんせ半年ぐらい前に書いたプラグインなのでモチベーションと内容がうる…

vimfiler の復元方法

vim

最近、後ろから突かれているので覚書。 こんな感じで、保存・復元を行うらしいです。 let vimfiler_bufnr = {vimfiler のバッファ番号} let vimfiler = getbufvar(vimfiler_bufnr, 'vimfiler') " この context を保存 let context = vimfiler.context " cont…

第5回vimrc読書会

vim

ってことで、今回はわたしの vimrc が犠牲になりました。 vimrc のビフォーアフターはここら辺で見ることが出来ます。 予めある程度 vimrc を見なおしておいたので、そこまで変更はなかったんですが、それでも気づかなかった細かい部分の指摘があったのであ…

unite-source で呼び出されたバッファの番号を取得する

vim

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…