YSTest: ystdex::bitseg_iterator< _vN, _bEndian > 模板类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | 静态 Public 属性 | Protected 属性 | 所有成员列表
ystdex::bitseg_iterator< _vN, _bEndian > 模板类 参考
Iterators

位段迭代器。 更多...

`#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_iterator & | operator+= (difference_type n)
bitseg_iterator & | operator-= (difference_type n)
reference | operator* () const
pointer | operator-> () const
bitseg_iterator & | operator++ ()
bitseg_iterator | operator++ (int)
bitseg_iterator & | operator-- ()
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 属性

byte * | base
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.hpp 第 1167 行定义.

## 成员类型定义说明

template<unsigned char _vN, bool _bEndian = {}>

using ystdex::bitseg_iterator< _vN, _bEndian >::difference_type = ptrdiff_t

在文件 iterator.hpp 第 1176 行定义.

template<unsigned char _vN, bool _bEndian = {}>

using ystdex::bitseg_iterator< _vN, _bEndian >::pointer = byte*

在文件 iterator.hpp 第 1177 行定义.

template<unsigned char _vN, bool _bEndian = {}>

using ystdex::bitseg_iterator< _vN, _bEndian >::reference = byte&

在文件 iterator.hpp 第 1178 行定义.

## 构造及析构函数说明

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.hpp 第 1197 行定义.

参考自 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.hpp 第 1304 行定义.

参考 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

在文件 iterator.hpp 第 1298 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

reference ystdex::bitseg_iterator< _vN, _bEndian >::operator* | ( |  | ) | const

inline

在文件 iterator.hpp 第 1223 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base, ystdex::bitseg_iterator< _vN, _bEndian >::seg_n, ystdex::bitseg_iterator< _vN, _bEndian >::seg_width, ystdex::bitseg_iterator< _vN, _bEndian >::shift, ystdex::bitseg_iterator< _vN, _bEndian >::value , 以及 yconstraint.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator+ | ( | difference_type | n | ) | const

inline

在文件 iterator.hpp 第 1286 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base , 以及 ystdex::bitseg_iterator< _vN, _bEndian >::bitseg_iterator().

函数调用图:
template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator++ | ( |  | ) |

inline

在文件 iterator.hpp 第 1237 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base, ystdex::bitseg_iterator< _vN, _bEndian >::seg_n, ystdex::bitseg_iterator< _vN, _bEndian >::shift, yassume, yconstraint , 以及 yunseq.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator++ | ( | int |  | ) |

inline

自从
  build 415

在文件 iterator.hpp 第 1247 行定义.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator+= | ( | difference_type | n | ) |

inline

在文件 iterator.hpp 第 1204 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base, ystdex::bitseg_iterator< _vN, _bEndian >::seg_n, ystdex::bitseg_iterator< _vN, _bEndian >::shift, yassume, yconstraint , 以及 yunseq.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator- | ( | difference_type | n | ) | const

inline

在文件 iterator.hpp 第 1292 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base , 以及 ystdex::bitseg_iterator< _vN, _bEndian >::bitseg_iterator().

函数调用图:
template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator-- | ( |  | ) |

inline

在文件 iterator.hpp 第 1256 行定义.

参考 ystdex::bitseg_iterator< _vN, _bEndian >::base, ystdex::bitseg_iterator< _vN, _bEndian >::seg_n, ystdex::bitseg_iterator< _vN, _bEndian >::shift, yassume, yconstraint , 以及 yunseq.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator ystdex::bitseg_iterator< _vN, _bEndian >::operator-- | ( | int |  | ) |

inline

自从
  build 415

在文件 iterator.hpp 第 1268 行定义.

template<unsigned char _vN, bool _bEndian = {}>

bitseg_iterator& ystdex::bitseg_iterator< _vN, _bEndian >::operator-= | ( | difference_type | n | ) |

inline

在文件 iterator.hpp 第 1216 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

pointer ystdex::bitseg_iterator< _vN, _bEndian >::operator-> | ( |  | ) | const

inline

在文件 iterator.hpp 第 1231 行定义.

template<unsigned char _vN, bool _bEndian = {}>

reference ystdex::bitseg_iterator< _vN, _bEndian >::operator[] | ( | difference_type | n | ) | const

inline

在文件 iterator.hpp 第 1277 行定义.

## 友元及相关函数文档

template<size_t _vN, bool _bEndian>

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

related

自从
  build 428

在文件 iterator.hpp 第 1318 行定义.

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

函数调用图:

## 类成员变量说明

template<unsigned char _vN, bool _bEndian = {}>

byte* ystdex::bitseg_iterator< _vN, _bEndian >::base

protected

在文件 iterator.hpp 第 1185 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_n = CHAR_BIT / _vN

static

在文件 iterator.hpp 第 1180 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_size = 1 << _vN

static

在文件 iterator.hpp 第 1181 行定义.

template<unsigned char _vN, bool _bEndian = {}>

const unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::seg_width = _vN

static

在文件 iterator.hpp 第 1182 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

unsigned char ystdex::bitseg_iterator< _vN, _bEndian >::shift

protected

在文件 iterator.hpp 第 1186 行定义.

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

template<unsigned char _vN, bool _bEndian = {}>

byte ystdex::bitseg_iterator< _vN, _bEndian >::value

mutableprotected

在文件 iterator.hpp 第 1187 行定义.

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

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

- iterator.hpp