1.35での変更点

  • Boost.RangeはBoost1.35で破壊的に変更されるのでまとめます
  • null-terminatedな char const* はRangeではない
    • boost::as_literalでRangeにする
  • charの配列は、\0は考慮されず普通の配列として扱われる
    • つまりboost::size("123")は4を返す
    • null-terminatedとして扱いたい場合は、as_literalを使う
  • range_iteratorはrange_mutable_iteratorに名称変更
  • range_result_iteratorはrange_iteratorに名称変更
  • range_mutable_iteratorとrange_contant_iteratorの利用はspecializeする場合を除いて非推奨
  • range_sizeはおそらく廃止
  • boost_range_beginはrange_beginに名称変更
  • boost_range_endはrange_endに名称変更
  • boost_range_sizeはもう呼ばれない
  • boost::sizeはRandomAccessRangeしか受け付けない
    • RandomAccessRangeでない場合はboost::distanceを使う