YSTest: ystdex::details::thunk_caller< _tRet, _fCallable > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | 所有成员列表
ystdex::details::thunk_caller< _tRet, _fCallable > 模板结构体 参考

`#include <thunk.hpp>`

## Public 类型

using | caller_type = _fCallable
using | return_type = _tRet
using | value_type = decay_t< unwrap_reference_t< _tRet > >

## Public 成员函数

| thunk_caller (caller_type f)
| thunk_caller (const value_type &arg)
template<typename _type , typename = exclude_self_t<thunk_caller, _type>, typename = enable_if_t<is_reference_wrapper<_type>::value && is_same<remove_reference_t<unwrap_reference_t<_type>>, value_type>::value>>
| thunk_caller (_type arg)
| thunk_caller (const thunk_caller &)=default
| thunk_caller (thunk_caller &&)=default
thunk_caller & | operator= (const thunk_caller &)=default
thunk_caller & | operator= (thunk_caller &&)=default

## Public 属性

caller_type | caller

## 详细描述

### template<typename _tRet, typename _fCallable>
struct ystdex::details::thunk_caller< _tRet, _fCallable >

自从
  build 526

在文件 thunk.hpp 第 57 行定义.

## 成员类型定义说明

## ◆ caller_type

template<typename _tRet , typename _fCallable >

using ystdex::details::thunk_caller< _tRet, _fCallable >::caller_type = _fCallable

自从
  build 529
  build 541

在文件 thunk.hpp 第 63 行定义.

## ◆ return_type

template<typename _tRet , typename _fCallable >

using ystdex::details::thunk_caller< _tRet, _fCallable >::return_type = _tRet

在文件 thunk.hpp 第 64 行定义.

## ◆ value_type

template<typename _tRet , typename _fCallable >

using ystdex::details::thunk_caller< _tRet, _fCallable >::value_type = decay_t<unwrap_reference_t<_tRet> >

在文件 thunk.hpp 第 65 行定义.

## 构造及析构函数说明

## ◆ thunk_caller() [1/5]

template<typename _tRet , typename _fCallable >

ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller | ( | caller_type | f | ) |

inline

在文件 thunk.hpp 第 70 行定义.

## ◆ thunk_caller() [2/5]

template<typename _tRet , typename _fCallable >

ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller | ( | const value_type & | arg | ) |

inline

待办事项:
  使用 ISO C++14 通用 lambda 表达式以支持转移构造，避免不必要的复制。

在文件 thunk.hpp 第 74 行定义.

## ◆ thunk_caller() [3/5]

template<typename _tRet , typename _fCallable >
template<typename _type , typename = exclude_self_t<thunk_caller, _type>, typename = enable_if_t<is_reference_wrapper<_type>::value && is_same<remove_reference_t<unwrap_reference_t<_type>>, value_type>::value>>

ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller | ( | _type | arg | ) |

inline

自从
  build 675

在文件 thunk.hpp 第 84 行定义.

## ◆ thunk_caller() [4/5]

template<typename _tRet , typename _fCallable >

ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller | ( | const thunk_caller< _tRet, _fCallable > & |  | ) |

default

## ◆ thunk_caller() [5/5]

template<typename _tRet , typename _fCallable >

ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller | ( | thunk_caller< _tRet, _fCallable > && |  | ) |

default

## 成员函数说明

## ◆ operator=() [1/2]

template<typename _tRet , typename _fCallable >

thunk_caller& ystdex::details::thunk_caller< _tRet, _fCallable >::operator= | ( | const thunk_caller< _tRet, _fCallable > & |  | ) |

default

## ◆ operator=() [2/2]

template<typename _tRet , typename _fCallable >

thunk_caller& ystdex::details::thunk_caller< _tRet, _fCallable >::operator= | ( | thunk_caller< _tRet, _fCallable > && |  | ) |

default

## 类成员变量说明

## ◆ caller

template<typename _tRet , typename _fCallable >

caller_type ystdex::details::thunk_caller< _tRet, _fCallable >::caller

自从
  build 541

在文件 thunk.hpp 第 68 行定义.

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

- thunk.hpp