YSTest: platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ > 模板结构体 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | 静态 Public 属性 | 所有成员列表
platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ > 模板结构体 参考
Template Meta Programing » Meta Operations » Metafunctions » Type Traits Operations

`#include <Video.h>`

类 platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ > 继承关系图:
[图例]
platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ > 的协作图:
[图例]

## Public 类型

using | Base = ystdex::ordered_bitseg_traits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >
Public 类型 继承自 ystdex::ordered_bitseg_traits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >
using | base = _tBitSegTraits
using | mapping = index_sequence< _vSeq... >
| 指定映射关系的索引序列。 更多...
using | map = vseq::at_t< mapping, _vIdx >
| 取指定的索引实现映射。 更多...
using | component_t = typename base::template component_t< map< _vIdx >::value >
using | component_width = typename base::template component_width< map< _vIdx >::value >
using | shift = typename base::template shift< map< _vIdx >::value >
using | mask = typename base::template mask< map< _vIdx >::value >
using | inversed_map = vseq::find_t< mapping, size_t_< _vIdx >>
| 在索引序列查找指定的索引以实现逆映射。 更多...
using | inversed_mapped_component_t = component_t< inversed_map< _vIdx >::value >

## 静态 Public 属性

static yconstexpr const size_t | ABitsN = Base::template component_width<AXYZIndex::A>::value
static yconstexpr const size_t | XYZBitsN

## 额外继承的成员函数

静态 Public 成员函数 继承自 ystdex::ordered_bitseg_traits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >
static component_t< _vIdx > | extract (integer i)
static component_t< _vIdx > | lift (component_t< map< _vIdx >::value > val)
static integer | pack (_types...xs)
static integer | project (index_sequence< _vIdxSeq... >, component_t< map< _vIdxSeq >::value >...xs)

## 详细描述

### template<class _tBitSegTraits, size_t _vIdxA, size_t _vIdxX, size_t _vIdxY, size_t _vIdxZ>
struct platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >

自从
  build 729

逻辑分量值特征。

注解
  A 表示 Alpha 通道分量， X 、 Y 和 Z 表示颜色分量。
  模板参数为位段特征及各个逻辑分量在位段特征中的存储索引。

参见
  ystdex::bitseg_traits
  ystdex::ordered_bitseg_traits

四个逻辑分量以特定布局以特定的映射关系压缩按整数小端序存储为位段。 逻辑分量值特征允许不同的逻辑分量顺序具有一致的逻辑表示。 逻辑分量存储的顺序、偏移和位宽由位段特征指定。 模板参数列表中，逻辑分量统一为 AXYZ 顺序，对应具有索引值 0~3 ，其值为存储索引。 逻辑分量索引和存储索引之间的映射的接口由有序位段特征适配模板实例的成员提供。

在文件 Video.h 第 132 行定义.

## 成员类型定义说明

template<class _tBitSegTraits , size_t _vIdxA, size_t _vIdxX, size_t _vIdxY, size_t _vIdxZ>

using platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >::Base = ystdex::ordered_bitseg_traits<_tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ>

在文件 Video.h 第 136 行定义.

## 类成员变量说明

template<class _tBitSegTraits , size_t _vIdxA, size_t _vIdxX, size_t _vIdxY, size_t _vIdxZ>

yconstexpr const size_t platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >::ABitsN = Base::template component_width<AXYZIndex::A>::value

static

在文件 Video.h 第 139 行定义.

template<class _tBitSegTraits , size_t _vIdxA, size_t _vIdxX, size_t _vIdxY, size_t _vIdxZ>

yconstexpr const size_t platform::AXYZValueTraits< _tBitSegTraits, _vIdxA, _vIdxX, _vIdxY, _vIdxZ >::XYZBitsN

static

初始值:
= Base::template component_width<AXYZIndex::X>::value
+ Base::template component_width<AXYZIndex::Y>::value
+ Base::template component_width<AXYZIndex::Z>::value

在文件 Video.h 第 141 行定义.

该结构体的文档由以下文件生成:

- Video.h