YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
any_iterator.hpp 文件参考

动态泛型迭代器。 更多...

#include "any.h"
#include "cast.hpp"
#include "memory.hpp"
any_iterator.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ystdex::any_ops::wrap_handler< _type >
 
class  ystdex::any_ops::iterator_handler< _type >
 
class  ystdex::any_ops::input_iterator_handler< _type >
 
class  ystdex::any_ops::forward_iterator_handler< _type >
 
class  ystdex::any_ops::bidirectional_iterator_handler< _type >
 
class  ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >
 动态泛型输入迭代器。 更多...
 
class  ystdex::any_forward_iterator< _type, _tDifference, _tPointer, _tReference >
 动态泛型前向迭代器。 更多...
 
class  ystdex::any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference >
 动态泛型双向迭代器。 更多...
 

命名空间

namespace  ystdex
 
namespace  ystdex::any_ops
 

类型定义

typedef any_forward_iterator
< void_ref, ptrdiff_t, void
*, void_ref > 
ystdex::forward_monomorphic_iterator
 
typedef
any_bidirectional_iterator
< void_ref, ptrdiff_t, void
*, void_ref > 
ystdex::bidirectional_monomorphic_iterator
 

枚举

enum  ystdex::any_ops::iterator_op : op_code { ystdex::any_ops::check_undereferenceable = end_base_op, ystdex::any_ops::dereference, ystdex::any_ops::increase, ystdex::any_ops::end_iterator_op }
 
enum  ystdex::any_ops::input_iterator_op : op_code { ystdex::any_ops::equals = end_iterator_op, ystdex::any_ops::end_input_iterator_op, ystdex::any_ops::end_output_iterator_op = end_input_iterator_op, ystdex::any_ops::end_forward_iterator_op = end_input_iterator_op }
 
enum  ystdex::any_ops::bidirectional_iteartor_op : op_code { ystdex::any_ops::decrease = end_forward_iterator_op, ystdex::any_ops::end_bidirectional_iterator_op }
 
enum  ystdex::any_ops::random_access_iteartor_op : op_code { ystdex::any_ops::advance = end_forward_iterator_op, ystdex::any_ops::distance, ystdex::any_ops::less_compare, ystdex::any_ops::end_random_access_iteartor_op }
 

函数

template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator== (const any_forward_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_forward_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator!= (const any_forward_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_forward_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::is_undereferenceable (const any_forward_iterator< _type, _tDifference, _tPointer, _tReference > &i)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator== (const any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator!= (const any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::is_undereferenceable (const any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference > &i)
 
#define YB_ITERATOR_OP1(_n, _t, _it, _e)
 
#define YB_ITERATOR_OP2(_n, _t, _it, _e)
 
#define YB_ITERATOR_MEMBER_POSTFIX(_op, _it)
 
typedef any_input_iterator
< void_ref, ptrdiff_t, void
*, void_ref > 
ystdex::input_monomorphic_iterator
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator== (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator!= (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::is_undereferenceable (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &i)
 

详细描述

动态泛型迭代器。

版本
r811
作者
FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com
自从
build 355
创建时间:
2012-11-08 14:28:42 +0800
修改时间:
2013-04-22 13:03 +0800
文本编码:
UTF-8
模块名称:
YStandardEx::AnyIterator

在文件 any_iterator.hpp 中定义.

宏定义说明

#define YB_ITERATOR_MEMBER_POSTFIX (   _op,
  _it 
)
值:
_it \
operator _op(int) \
{ \
auto tmp = *this; \
\
_op *this; \
return tmp; \
}

在文件 any_iterator.hpp217 行定义.

#define YB_ITERATOR_OP1 (   _n,
  _t,
  _it,
  _e 
)
值:
template<typename _type, typename _tDifference, typename _tPointer, \
typename _tReference> \
inline _t \
_n(const _it<_type, _tDifference, _tPointer, _tReference>& i) \
{ \
return _e; \
}
自从
build 400

在文件 any_iterator.hpp198 行定义.

#define YB_ITERATOR_OP2 (   _n,
  _t,
  _it,
  _e 
)
值:
template<typename _type, typename _tDifference, typename _tPointer, \
typename _tReference> \
inline _t \
_n(const _it<_type, _tDifference, _tPointer, _tReference>& x, \
const _it<_type, _tDifference, _tPointer, _tReference>& y) \
{ \
return _e; \
}

在文件 any_iterator.hpp207 行定义.