C++0x next/prev
C++0xでは<iterator>にboost::next/priorに相当する
std::nextとstd::prevが追加されるようです。
(std::advanceについて調べてたら見つけました)
std::nextはイテレータをn個進め、std::prevはイテレータをn個戻します。
std::nextとstd::advanceの相違点は、std::advanceがイテレータの参照を受け取って
書き換えるのに対し、std::nextはイテレータのコピーを受け取ってコピーを返す、
というところです。
template <class InputIterator> InputIterator next(InputIterator x, typename std::iterator_traits<InputIterator>::difference_type n = 1); template <class BidirectionalIterator> BidirectionalIterator prev(BidirectionalIterator x, typename std::iterator_traits<BidirectionalIterator>::difference_type n = 1);