のらりくらり

物理化学分野のポスドクです。プログラミング、読書、自転車などが好きです。

Boostのremove_referenceについて調べた

アルバイトしてて最近はコードを読むたびに、使用されている(僕がこれまで見たことのない)Boostライブラリをつかった部分で引っかかることが多い。
これらをいちいち調べて簡単に自分で実験して・・・というのを繰り返しているので非常に時間がかかっているのだけど、とりあえずせめて調べたものたちに関しては忘れないようにたまに書いておこうと思う。

その中の一つで、今日はboost::remove_referenceというのにぶつかってしまった。
よく分からないのでとりあえずググって出てきたのが公式の
remove_reference - 1.36.0

型をうけとって、もし参照がはいってたらその参照(&宣言)だけを取り除いた型を返す、もし参照型ではない型をうけとったらそのままの型を返す、とあって、なるほど文字通りじゃないかと思った。
とりあえず以下のコードで実験。


boost::is_same<>は、型を受け取って、それらが同じ型だったら boost::is_same<T1, T2>::valueが1になり、異なる場合は0になる。
結果は

1
1
0

となり、その通りの結果を返してくれた。

まぁ文字通りなんだけれど。だけど一瞬調べないとわからないよねこんなの。
boostのイテレータなども色々弄る機会があったので、また忘れないためにもここに書き残しておきたい。

とりあえず忘れないためのメモでした。