shared_container_iterator
- BOOST_FOREACHは、一時オブジェクトをコピーして保持するが、当然、元のソースまでは手に負えない
- 元の一時オブジェクト std::string("abc") は、BOOST_FOREACHのループ内で使うころには消えている
- BOOST_FOREACHで使えるようにするために、iterator自身がリソースを管理しなくてはならない場合がある
- これではRangeがリソースを管理できるという利点が失われてしまう
- BOOST_FOREACHの存在が、Rangeの設計に影響を与えてしまうということ
- そこで、boost::shared_container_iteratorから作ったshare_range・・・ソースコード
- リソースをiteratorが管理するという特性を後からRangeに追加できる
[]#include[] []<pstade/oven/share_range.hpp>[]続きを読む
[]#include[] []<pstade/oven/sort_range.hpp>[]
[]#include[] []<algorithm>[]
[]#include[] []<iostream>[]
[]#include[] []<string>[]
[]#include[] []<boost/foreach.hpp>[]