関数を定義する方法2006

  • ようやく関数の定義の仕方が分かってきたのでまとめておこう
  • Iterator AdaptorのためにFunctionObjectはできるだけDefaultConstructibleかつAssignableにしておいた方がいい
  • この不具合の回避策がかなり正確に分かった
    • 基底クラスを持つか、あるいはユーザ定義のコンストラクタが一つ必要、ということらしい
  • GCC3.4の場合、result_ofの話とは関係なく、型にDefaultConstructibleを要求するバグがある
  • 結局result_ofのカスタマイズはそのままでは使いづらいので、ドメインに応じたレイヤーを作ればよいと思う
  • AdaptableコンセプトはもうObsoleteだろう


[]#include[] []<boost/type_traits/decay.hpp>[]
[]#include[] []<boost/type_traits/remove_cv.hpp>[]
[]#include[] []<boost/type_traits/remove_reference.hpp>[]
[]#include[] []<boost/utility/result_of.hpp>[]
[]#include[] []<string>[]

続きを読む