|
YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
通用迭代器。 更多...


类 | |
| class | ystdex::pointer_iterator< _type > |
| 指针迭代器。 更多... | |
| struct | ystdex::pointer_classify< _type > |
| 指针包装为类类型迭代器。 更多... | |
| struct | ystdex::pointer_classify< _type * > |
| class | ystdex::pseudo_iterator< _type, _tIterator, _tTraits > |
| 伪迭代器。 更多... | |
| class | ystdex::transformed_iterator< _tIterator, _fTransformer > |
| 转换迭代器。 更多... | |
| struct | ystdex::indirect_tag |
| class | ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > |
| 成对迭代器。 更多... | |
| class | ystdex::subscriptive_iterator< _tContainer, _type > |
| 成员下标迭代器。 更多... | |
命名空间 | |
| namespace | ystdex |
| namespace | ystdex::iterator_transformation |
| 迭代转换操作。 | |
函数 | |
| template<typename _tIn , typename _fPred > | |
| _tIn | ystdex::next_if (_tIn i, _fPred f, typename std::iterator_traits< _tIn >::difference_type n=1) |
| 迭代器指向的值满足条件时取邻接迭代器,否则取原值。 | |
| template<typename _tIn , typename _type > | |
| _tIn | ystdex::next_if_eq (_tIn i, const _type &val, typename std::iterator_traits< _tIn >::difference_type n=1) |
| template<typename _tIterator1 , typename _tIterator2 > | |
| auto | ystdex::make_move_iterator_pair (_tIterator1 it1, _tIterator2 it2) -> decltype(std::make_pair(std::make_move_iterator(it1), std::make_move_iterator(it2))) |
| 取转移迭代器对。 | |
| template<typename _tRange > | |
| auto | ystdex::make_move_iterator_pair (_tRange &c) -> decltype(ystdex::make_move_iterator_pair(begin(c), end(c))) |
| 取指定序列范围(包含序列容器及内建数组等)的转移迭代器对。 | |
| template<typename _tIterator , typename _fTransformer > | |
| transformed_iterator< typename array_ref_decay< _tIterator > ::type, _fTransformer > | ystdex::make_transform (_tIterator &&i, _fTransformer &&f) |
| 创建转换迭代器。 | |
| template<typename _tIterator > | |
| static auto | ystdex::iterator_transformation::first (const _tIterator &i) -> decltype(std::addressof(i->first)) |
| template<typename _tIterator > | |
| static auto | ystdex::iterator_transformation::second (const _tIterator &i) -> decltype(std::addressof(i->second)) |
| template<typename _tIterator > | |
| static auto | ystdex::iterator_transformation::indirect (const _tIterator &i) -> decltype(*i) |
| template<typename _tIterator > | |
| auto | ystdex::operator| (_tIterator &&i, first_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::first< typename array_ref_decay< _tIterator >::type >)) |
| 管道匹配操作符。 | |
| template<typename _tIterator > | |
| auto | ystdex::operator| (_tIterator &&i, second_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::second< typename array_ref_decay< _tIterator >::type >)) |
| template<typename _tIterator > | |
| auto | ystdex::operator| (_tIterator &&i, indirect_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::indirect< typename array_ref_decay< _tIterator >::type >)) |
| template<class _tContainer , typename _type > | |
| bool | ystdex::operator== (const subscriptive_iterator< _tContainer, _type > &x, const subscriptive_iterator< _tContainer, _type > &y) |
| 比较成员下标迭代器的相等性。 | |
| template<class _tContainer , typename _type > | |
| bool | ystdex::operator!= (const subscriptive_iterator< _tContainer, _type > &x, const subscriptive_iterator< _tContainer, _type > &y) |
| 比较成员下标迭代器的不等性。 | |
| template<typename _tBi , typename _fPred > | |
| _tBi | ystdex::prev_if (_tBi i, _fPred f, typename std::iterator_traits< _tBi >::difference_type n=1) |
| 迭代器指向的值满足条件时取反向邻接迭代器,否则取原值。 | |
| template<typename _tBi , typename _type > | |
| _tBi | ystdex::prev_if_eq (_tBi i, const _type &val, typename std::iterator_traits< _tBi >::difference_type n=1) |
| template<typename _type > | |
| bool | ystdex::operator== (const pointer_iterator< _type > &x, const pointer_iterator< _type > &y) |
| template<typename _type > | |
| bool | ystdex::operator!= (const pointer_iterator< _type > &x, const pointer_iterator< _type > &y) |
| template<typename _type , typename _tIterator , typename _tTraits > | |
| bool | ystdex::operator== (const pseudo_iterator< _type, _tIterator, _tTraits > &x, const pseudo_iterator< _type, _tIterator, _tTraits > &y) |
| template<typename _type , typename _tIterator , typename _tTraits > | |
| bool | ystdex::operator!= (const pseudo_iterator< _type, _tIterator, _tTraits > &x, const pseudo_iterator< _type, _tIterator, _tTraits > &y) |
| template<typename _type , typename _fTransformer > | |
| bool | ystdex::operator== (const transformed_iterator< _type, _fTransformer > &x, const transformed_iterator< _type, _fTransformer > &y) |
| template<typename _type , typename _fTransformer > | |
| bool | ystdex::operator!= (const transformed_iterator< _type, _fTransformer > &x, const transformed_iterator< _type, _fTransformer > &y) |
| template<typename _tMaster , typename _tSlave > | |
| bool | ystdex::operator== (const pair_iterator< _tMaster, _tSlave > &x, const pair_iterator< _tMaster, _tSlave > &y) |
| template<typename _tMaster , typename _tSlave > | |
| bool | ystdex::operator!= (const pair_iterator< _tMaster, _tSlave > &x, const pair_iterator< _tMaster, _tSlave > &y) |
变量 | |
| const first_tag | ystdex::get_first {} |
| 操纵子。 | |
| const first_tag | ystdex::get_key {} |
| const second_tag | ystdex::get_second {} |
| const second_tag | ystdex::get_value {} |
| struct ystdex::indirect_tag | ystdex::get_indirect |
通用迭代器。
在文件 iterator.hpp 中定义.