YSTest: ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

静态 Public 成员函数 | 所有成员列表
ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > > 模板结构体 参考

`#include <apply.hpp>`

类 ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > > 继承关系图:
[图例]

## 静态 Public 成员函数

template<typename _func >
static auto | apply_call (_func &&f, std::tuple< _tParams... > &&args, decay_t< decltype(std::forward< decltype(f)>(f)(std::get< _vSeq >(std::forward< decltype(args)>(args))...))> *={}) -> decltype(std::forward< decltype(f)>(f)(std::get< _vSeq >(std::forward< decltype(args)>(args))...))
template<typename _fCallable >
static auto | apply_invoke (_fCallable &&f, std::tuple< _tParams... > &&args, decay_t< decltype(ystdex::invoke(std::forward< decltype(f)>(f), std::get< _vSeq >(std::forward< decltype(args)>(args))...))> *={}) -> decltype(ystdex::invoke(std::forward< decltype(f)>(f), std::get< _vSeq >(std::forward< decltype(args)>(args))...))
template<typename _func >
static auto | call (_func &&f, _tParams &&... args) -> decltype(apply_call(std::forward< decltype(f)>(f), std::forward_as_tuple(std::forward< decltype(args)>(args)...)))
template<typename _fCallable >
static auto | invoke (_fCallable &&f, _tParams &&... args) -> decltype(apply_invoke(std::forward< decltype(f)>(f), std::forward_as_tuple(std::forward< decltype(args)>(args)...)))

## 详细描述

### template<typename _tRet, typename... _tParams, size_t... _vSeq>
struct ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > >

在文件 apply.hpp 第 73 行定义.

## 成员函数说明

## ◆ apply_call()

template<typename _tRet , typename... _tParams, size_t... _vSeq>
template<typename _func >

static auto ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > >::apply_call | ( | _func && | f,
|  | std::tuple< _tParams... > && | args,
|  | decay_t< decltype(std::forward< decltype(f)>(f)(std::get< _vSeq >(std::forward< decltype(args)>(args))...))> * | = `{}`
| ) |  | -> decltype(std::forward<decltype( f )>( f )(std::get<_vSeq>(std::forward<decltype( args )>( args ))...))

inlinestatic

自从
  build 810

在文件 apply.hpp 第 79 行定义.

## ◆ apply_invoke()

template<typename _tRet , typename... _tParams, size_t... _vSeq>
template<typename _fCallable >

static auto ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > >::apply_invoke | ( | _fCallable && | f,
|  | std::tuple< _tParams... > && | args,
|  | decay_t< decltype(ystdex::invoke(std::forward< decltype(f)>(f), std::get< _vSeq >(std::forward< decltype(args)>(args))...))> * | = `{}`
| ) |  | -> decltype( ystdex::invoke(std::forward<decltype( f )>( f ), std::get<_vSeq>(std::forward<decltype( args )>( args ))...))

inlinestatic

在文件 apply.hpp 第 88 行定义.

## ◆ call()

template<typename _tRet , typename... _tParams, size_t... _vSeq>
template<typename _func >

static auto ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > >::call | ( | _func && | f,
|  | _tParams &&... | args
| ) |  | -> decltype( apply_call(std::forward<decltype( f )>( f ), std::forward_as_tuple(std::forward<decltype( args )>( args )...)))

inlinestatic

在文件 apply.hpp 第 99 行定义.

引用了 CHRLib::args, CHRLib::f() , 以及 yforward.

函数调用图:

## ◆ invoke()

template<typename _tRet , typename... _tParams, size_t... _vSeq>
template<typename _fCallable >

static auto ystdex::call_projection< _tRet(_tParams...), index_sequence< _vSeq... > >::invoke | ( | _fCallable && | f,
|  | _tParams &&... | args
| ) |  | -> decltype( apply_invoke(std::forward<decltype( f )>( f ), std::forward_as_tuple(std::forward<decltype( args )>( args )...)))

inlinestatic

自从
  build 810

在文件 apply.hpp 第 109 行定义.

引用了 CHRLib::args, CHRLib::f() , 以及 yforward.

函数调用图:

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

- apply.hpp