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 中定义.