YSTest: type_op.hpp 文件参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
类 | 命名空间 | 宏定义 | 类型定义
type_op.hpp 文件参考
YStandardExtend

C++ 类型操作。 更多...

`#include "../ydef.h"`
type_op.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::is_returnable< _type >
| 判断指定类型是否可作为返回值类型。 更多...
struct | ystdex::is_decayable< _type >
| 判断是否可被退化。 更多...
struct | ystdex::is_class_pointer< _type >
| 判断指定类型是否是指向类类型对象的指针。 更多...
struct | ystdex::is_lvalue_class_reference< _type >
| 判断指定类型是否是左值类类型引用。 更多...
struct | ystdex::is_rvalue_class_reference< _type >
| 判断指定类型是否是右值类类型引用。 更多...
struct | ystdex::is_pod_struct< _type >
| 判断指定类型是否是 POD struct 。 更多...
struct | ystdex::is_pod_union< _type >
| 判断指定类型是否是 POD union 。 更多...
struct | ystdex::details::have_equality_operator< _type1, _type2 >
struct | ystdex::details::has_subscription< _type1, _type2 >
struct | ystdex::details::have_nonempty_virtual_base< _type >
struct | ystdex::details::have_nonempty_virtual_base< _type >::A
struct | ystdex::details::have_nonempty_virtual_base< _type >::B
struct | ystdex::details::have_nonempty_virtual_base< _type >::C
struct | ystdex::details::have_common_nonempty_virtual_base< _type1, _type2 >
struct | ystdex::details::have_common_nonempty_virtual_base< _type1, _type2 >::A
struct | ystdex::details::have_common_nonempty_virtual_base< _type1, _type2 >::B
struct | ystdex::details::have_common_nonempty_virtual_base< _type1, _type2 >::C
struct | ystdex::has_subscription< _type1, _type2 >
| 判断是否存在合式的结果为非 void 类型的 [] 操作符接受指定类型的表达式。 更多...
struct | ystdex::has_equality_operator< _type1, _type2 >
| 判断是否存在合式的结果可转换为 bool 类型的 == 操作符接受指定类型的表达式。 更多...
struct | ystdex::has_nonempty_virtual_base< _type >
| 判断指定类型是否有非空虚基类。 更多...
struct | ystdex::has_common_nonempty_virtual_base< _type1, _type2 >
| 判断指定的两个类类型是否有非空虚基类。 更多...
struct | ystdex::identity< _type >
| 恒等元函数。 更多...
struct | ystdex::remove_rcv< _type >
| 移除可能被 cv-qualifier 修饰的引用类型。 更多...
struct | ystdex::remove_rp< _type >
| 移除指针和引用类型。 更多...
struct | ystdex::remove_rpcv< _type >
| 移除可能被 cv-qualifier 修饰的引用和指针类型。 更多...
struct | ystdex::array_decay< _type >
| 数组类型退化。 更多...
struct | ystdex::qualified_decay< _type >
| 保持修饰符的类型退化。 更多...
struct | ystdex::array_ref_decay< _type >
| 数组及数组引用类型退化。 更多...
struct | ystdex::array_ref_decay< _type & >
struct | ystdex::array_ref_decay< _type && >
struct | ystdex::integer_width< _tInt >
| 取指定整数类型的位宽度。 更多...
struct | ystdex::make_signed_c< _type, bool >
| 取指定整数类型和条件表达式对应的有符号或无符号整数类型。 更多...
struct | ystdex::make_signed_c< _type, false >
struct | ystdex::make_fixed_width_int< size_t >
| 取按指定宽度的整数类型。 更多...
struct | ystdex::make_fixed_width_int< 8U >
struct | ystdex::make_fixed_width_int< 16U >
struct | ystdex::make_fixed_width_int< 32U >
struct | ystdex::make_fixed_width_int< 64U >
struct | ystdex::n_tag< _vN >
| 标记。 更多...
struct | ystdex::n_tag< 0 >
struct | ystdex::variadic_sequence< _vSeq >
| 变量参数标记。 更多...
struct | make_successor< class >
| 取自然数变量标记后继。 更多...
struct | ystdex::make_successor< variadic_sequence< _vSeq...> >
struct | ystdex::make_natural_sequence< _vN >
| 取自然数变量标记序列。 更多...
struct | ystdex::make_natural_sequence< 0 >

## 命名空间

namespace | ystdex
namespace | ystdex::details

## 宏定义

#define | YB_TYPE_OP_TEST_2(_n, _expr)
| 测试

## 类型定义

typedef n_tag< 0 > | ystdex::first_tag
| 第一分量标记。
typedef n_tag< 1 > | ystdex::second_tag
| 第二分量标记。

## 详细描述

C++ 类型操作。

版本
  r859

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 201

创建时间:
  2011-04-14 08:54:25 +0800

修改时间:
  2013-04-19 15:27 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::TypeOperation

在文件 type_op.hpp 中定义.

## 宏定义说明

#define YB_TYPE_OP_TEST_2 | ( |  | _n,
|  |  | _expr
| ) |  |

值:
template<typename _type1, typename _type2> \
struct _n \
{ \
private: \
template<typename _type> \
static yconstfn bool \
test(int, typename enable_if<(_expr), int>::type = 0) \
{ \
return true; \
} \
template<typename> \
static yconstfn bool \
test(...) \
{ \
return false; \
} \
\
public: \
static yconstexpr bool value = test(); \
};

测试

自从
  build 399

在文件 type_op.hpp 第 310 行定义.