YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
ystdex::bitseg_iterator< _vN, _bEndian > 模板类 参考

位段迭代器。 更多...

#include <iterator.hpp>

类 ystdex::bitseg_iterator< _vN, _bEndian > 继承关系图:
ystdex::bitseg_iterator< _vN, _bEndian > 的协作图:

Public 类型

using difference_type = ptrdiff_t
 
using pointer = byte *
 
using reference = byte &
 

Public 成员函数

 bitseg_iterator (byte *p={}, unsigned char n=0)
 构造:使用基指针和偏移位。 更多...
 
bitseg_iteratoroperator+= (difference_type n)
 
bitseg_iteratoroperator-= (difference_type n)
 
reference operator* () const
 
pointer operator-> () const
 
bitseg_iteratoroperator++ ()
 
bitseg_iterator operator++ (int)
 
bitseg_iteratoroperator-- ()
 
bitseg_iterator operator-- (int)
 
reference operator[] (difference_type n) const
 
bitseg_iterator operator+ (difference_type n) const
 
bitseg_iterator operator- (difference_type n) const
 
 operator pointer () const
 
size_t get_shift () const
 

静态 Public 属性

static const unsigned char seg_n = CHAR_BIT / _vN
 
static const unsigned char seg_size = 1 << _vN
 
static const unsigned char seg_width = _vN
 

Protected 属性

bytebase
 
unsigned char shift
 
byte value
 

相关函数

(请注意: 这些不是成员函数.)

template<size_t _vN, bool _bEndian>
bool operator== (const bitseg_iterator< _vN, _bEndian > &x, const bitseg_iterator< _vN, _bEndian > &y)
 

详细描述

template<unsigned char _vN, bool _bEndian = {}>
class ystdex::bitseg_iterator< _vN, _bEndian >

位段迭代器。

模板参数
_vN段宽度( CHAR_BIT <= UCHAR_MAX 恒成立,因此使用 unsigned char )。
_bEndian位序, ture 时为大端,否则为小端。
警告
非虚析构。
自从
build 414
待办事项:
支持 const byte* 实现的迭代器。

对字节分段提供的随机访问迭代器。

注解
since build 458 as workaround for Visual C++ 2013 and Clang++ 3.4

在文件 iterator.hpp1167 行定义.

成员类型定义说明

template<unsigned char _vN, bool _bEndian = {}>
using ystdex::bitseg_iterator< _vN, _bEndian >::difference_type = ptrdiff_t

在文件 iterator.hpp1176 行定义.

template<unsigned char _vN, bool _bEndian = {}>
using ystdex::bitseg_iterator< _vN, _bEndian >::pointer = byte*

在文件 iterator.hpp1177 行定义.

template<unsigned char _vN, bool _bEndian = {}>
using ystdex::bitseg_iterator< _vN, _bEndian >::reference = byte&

在文件 iterator.hpp1178 行定义.

构造及析构函数说明

template<unsigned char _vN, bool _bEndian = {}>
ystdex::bitseg_iterator< _vN, _bEndian >::bitseg_iterator ( byte p = {},
unsigned char  n = 0 
)
inline

构造:使用基指针和偏移位。

自从
build 461
注解
value 具有未决定值。
后置条件
断言: shift < seg_n

在文件 iterator.hpp1197 行定义.

参考自 ystdex::bitseg_iterator< _vN, _bEndian >::operator+() , 以及 ystdex::bitseg_iterator< _vN, _bEndian >::operator-().

这是这个函数的调用关系图:

成员函数说明

template<unsigned char _vN, bool _bEndian = {}>
size_t ystdex::bitseg_iterator< _vN, _bEndian >::get_shift ( ) const
inline

在文件 iterator.hpp1304 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::shift.

参考自 ystdex::bitseg_iterator< _vN, _bEndian >::operator==().

这是这个函数的调用关系图:

template<unsigned char _vN, bool _bEndian = {}>
ystdex::bitseg_iterator< _vN, _bEndian >::operator pointer ( ) const
inlineexplicit
template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator+ ( difference_type  n) const
inline
template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator++ ( )
inline
template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator++ ( int  )
inline
自从
build 415

在文件 iterator.hpp1247 行定义.

template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator- ( difference_type  n) const
inline
template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator-- ( )
inline
template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator-- ( int  )
inline
自从
build 415

在文件 iterator.hpp1268 行定义.

template<unsigned char _vN, bool _bEndian = {}>
bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator-= ( difference_type  n)
inline
template<unsigned char _vN, bool _bEndian = {}>
pointer ystdex::bitseg_iterator< _vN, _bEndian >::operator-> ( ) const
inline

在文件 iterator.hpp1231 行定义.

template<unsigned char _vN, bool _bEndian = {}>
reference ystdex::bitseg_iterator< _vN, _bEndian >::operator[] ( difference_type  n) const
inline

在文件 iterator.hpp1277 行定义.

友元及相关函数文档

template<size_t _vN, bool _bEndian>
bool operator== ( const bitseg_iterator< _vN, _bEndian > &  x,
const bitseg_iterator< _vN, _bEndian > &  y 
)
related
自从
build 428

在文件 iterator.hpp1318 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::get_shift().

函数调用图:

类成员变量说明

template<unsigned char _vN, bool _bEndian = {}>
const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_n = CHAR_BIT / _vN
static
template<unsigned char _vN, bool _bEndian = {}>
const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_size = 1 << _vN
static

在文件 iterator.hpp1181 行定义.

template<unsigned char _vN, bool _bEndian = {}>
const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_width = _vN
static
template<unsigned char _vN, bool _bEndian = {}>
byte ystdex::bitseg_iterator< _vN, _bEndian >::value
mutableprotected

该类的文档由以下文件生成: