YSTest: Metafunction Compositions

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

类 | 类型定义
Metafunction Compositions
Template Meta Programing » Meta Operations » Metafunctions

元函数组合操作。 更多...

Metafunction Compositions 的协作图:

## 类

struct | ystdex::vseq::bind_back< _func, _tParams >
| 部分应用。 更多...
struct | ystdex::vseq::bind_front< _func, _tParams >
struct | ystdex::vseq::_a< _gOp >
| 构造具有 `apply` 成员的一阶元函数。 更多...
struct | ystdex::vseq::_q< _func >
| 引用：延迟求值变换。 更多...
struct | ystdex::vseq::ctor_of< _tSeq, typename >
| 取类型构造器：具有 apply 成员，结果的嵌套 type 类型为构造类型的元函数。 更多...
struct | ystdex::vseq::ctor_of< _gSeq< _types... > >
struct | ystdex::vseq::params_of< _tSeq, typename >
| 取类型构造器参数。 更多...
struct | ystdex::vseq::params_of< _gSeq< _types... > >
struct | ystdex::vseq::is_instance< class, typename >
| 判断是否可匹配类型实例。 更多...
struct | ystdex::vseq::is_instance< _tSeq, enable_if_t< is_same< _tSeq, _t< vdefer< instance_apply_t, _tSeq, params_of_t< _tSeq > > > >::value > >

## 类型定义

template<class _tSeq , typename _tEnabler = void>
using | ystdex::vseq::ctor_of_t = _t< ctor_of< _tSeq, _tEnabler >>
template<class _tSeq , class _tParamsList >
using | ystdex::vseq::instance_apply_t = defer_apply_t< ctor_of_t< _tSeq >, _tParamsList >
| 使用构造器应用指定列表参数。 更多...
template<class... _tSeqs>
using | ystdex::vseq::same_instance = are_same< ctor_of_t< _tSeqs >... >
template<typename... _tSeqs>
using | ystdex::vseq::enable_for_instances = enable_when< and_< is_instance< _tSeqs >..., same_instance< _tSeqs... >>::value >
template<class _tSeq , typename _tEnabler = void>
using | ystdex::vseq::params_of_t = _t< params_of< _tSeq, _tEnabler >>

## 详细描述

元函数组合操作。

参见
  vseq::apply

自从
  build 651

组合满足元函数应用条件的类型的模板。 要求输入的元函数是满足元函数应用条件的类型。

## 类型定义说明

template<class _tSeq , typename _tEnabler = void>

using ystdex::vseq::ctor_of_t = typedef _t< ctor_of < _tSeq , _tEnabler>>

在文件 variadic.hpp 第 279 行定义.

template<typename... _tSeqs>

using ystdex::vseq::enable_for_instances = typedef enable_when<and_<is_instance<_tSeqs>..., same_instance<_tSeqs...>>::value>

参见
  enable_when
  is_instance
  same_instance

在文件 variadic.hpp 第 341 行定义.

template<class _tSeq , class _tParamsList >

using ystdex::vseq::instance_apply_t = typedef defer_apply_t<ctor_of_t<_tSeq>, _tParamsList>

使用构造器应用指定列表参数。

在文件 variadic.hpp 第 309 行定义.

template<class _tSeq , typename _tEnabler = void>

using ystdex::vseq::params_of_t = typedef _t< params_of < _tSeq , _tEnabler>>

在文件 variadic.hpp 第 296 行定义.

template<class... _tSeqs>

using ystdex::vseq::same_instance = typedef are_same<ctor_of_t<_tSeqs>...>

在文件 variadic.hpp 第 331 行定义.