YSTest: ystdex::one_shot< _func, _tRes, _tState > 模板结构体 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

Public 成员函数 | Public 属性 | 所有成员列表
ystdex::one_shot< _func, _tRes, _tState > 模板结构体 参考

调用一次的函数包装模板。 更多...

`#include <functional.hpp>`

## Public 成员函数

| one_shot (_func f, _tRes r={}, _tState s={})
| one_shot (one_shot &&f)
template<typename... _tParams>
auto | operator() (_tParams &&...args) const -> decltype(func(std::forward< decltype(args)>(args)...))

## Public 属性

_func | func
_tRes | result
_tState | fresh {}

## 详细描述

### template<typename _func, typename _tRes = void, typename _tState = bool>
struct ystdex::one_shot< _func, _tRes, _tState >

调用一次的函数包装模板。

前置条件
  静态断言：函数对象和结果转移以及默认状态构造和状态交换不抛出异常。

自从
  build 686

待办事项:

  优化 std::function 等可空类型的实现。

  复用静态断言。

  简化转移实现。

在文件 functional.hpp 第 664 行定义.

## 构造及析构函数说明

template<typename _func , typename _tRes = void, typename _tState = bool>

ystdex::one_shot< _func, _tRes, _tState >::one_shot | ( | _func | f,
|  | _tRes | r = `{}`,
|  | _tState | s = `{}`
| ) |  |

inline

在文件 functional.hpp 第 679 行定义.

template<typename _func , typename _tRes = void, typename _tState = bool>

ystdex::one_shot< _func, _tRes, _tState >::one_shot | ( | one_shot< _func, _tRes, _tState > && | f | ) |

inline

在文件 functional.hpp 第 682 行定义.

参考 ystdex::one_shot< _func, _tRes, _tState >::fresh , 以及 ystdex::swap().

函数调用图:

## 成员函数说明

template<typename _func , typename _tRes = void, typename _tState = bool>
template<typename... _tParams>

auto ystdex::one_shot< _func, _tRes, _tState >::operator() | ( | _tParams &&... | args | ) | const -> decltype(func(std::forward<decltype( args )>( args )...))

inline

在文件 functional.hpp 第 692 行定义.

参考 ystdex::one_shot< _func, _tRes, _tState >::fresh, ystdex::one_shot< _func, _tRes, _tState >::func, ystdex::one_shot< _func, _tRes, _tState >::result , 以及 yforward.

## 类成员变量说明

template<typename _func , typename _tRes = void, typename _tState = bool>

_tState ystdex::one_shot< _func, _tRes, _tState >::fresh {}

mutable

在文件 functional.hpp 第 677 行定义.

参考自 ystdex::one_shot< _func, _tRes, _tState >::one_shot(), ystdex::one_shot< _func, void, _tState >::one_shot(), ystdex::one_shot< _func, _tRes, _tState >::operator()() , 以及 ystdex::one_shot< _func, void, _tState >::operator()().

template<typename _func , typename _tRes = void, typename _tState = bool>

_func ystdex::one_shot< _func, _tRes, _tState >::func

在文件 functional.hpp 第 667 行定义.

参考自 ystdex::one_shot< _func, _tRes, _tState >::operator()() , 以及 ystdex::one_shot< _func, void, _tState >::operator()().

template<typename _func , typename _tRes = void, typename _tState = bool>

_tRes ystdex::one_shot< _func, _tRes, _tState >::result

mutable

在文件 functional.hpp 第 676 行定义.

参考自 ystdex::one_shot< _func, _tRes, _tState >::operator()().

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

- functional.hpp