YSTest: ystdex::details::optional_base< _type, true > 模板类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

Public 成员函数 | Protected 成员函数 | Protected 属性 | Private 成员函数 | 所有成员列表
ystdex::details::optional_base< _type, true > 模板类 参考

`#include <optional.h>`

ystdex::details::optional_base< _type, true > 的协作图:
[图例]

## Public 成员函数

| optional_base ()
template<typename... _tParams>
| optional_base (in_place_t, _tParams &&...args)
| optional_base (const optional_base &s)
| optional_base (const optional_base &&s)
| ~optional_base ()
| 析构：空实现。 更多...
optional_base & | operator= (const optional_base &s)
optional_base & | operator= (optional_base &&s)
template<typename _tParam >
optional_base & | assign (_tParam &&arg)
template<typename... _tParams>
void | construct (_tParams &&...args)
void | destroy ()
_type & | get ()
bool | is_engaged () const
void | reset ()

## Protected 成员函数

void | destroy_raw ()

## Protected 属性

union ystdex::details::optional_base< _type, true >:: { ... } |
bool | engaged = {}

## Private 成员函数

template<typename... _tParams>
void | construct_raw (_tParams &&...args)

## 详细描述

### template<typename _type>
class ystdex::details::optional_base< _type, true >

在文件 optional.h 第 120 行定义.

## 构造及析构函数说明

template<typename _type >

ystdex::details::optional_base< _type, true >::optional_base | ( |  | ) |

inline

在文件 optional.h 第 136 行定义.

template<typename _type >
template<typename... _tParams>

ystdex::details::optional_base< _type, true >::optional_base | ( | in_place_t | ,
|  | _tParams &&... | args
| ) |  |

inlineexplicit

在文件 optional.h 第 141 行定义.

template<typename _type >

ystdex::details::optional_base< _type, true >::optional_base | ( | const optional_base< _type, true > & | s | ) |

inline

在文件 optional.h 第 144 行定义.

template<typename _type >

ystdex::details::optional_base< _type, true >::optional_base | ( | const optional_base< _type, true > && | s | ) |

inline

在文件 optional.h 第 150 行定义.

参考 CHRLib::s.

template<typename _type >

ystdex::details::optional_base< _type, true >::~optional_base | ( |  | ) |

inline

析构：空实现。

注解
  不使用默认函数以避免派生此类的非平凡析构函数非合式而被删除。

自从
  build 609

在文件 optional.h 第 162 行定义.

## 成员函数说明

template<typename _type >
template<typename _tParam >

optional_base& ystdex::details::optional_base< _type, true >::assign | ( | _tParam && | arg | ) |

inline

自从
  build 630

在文件 optional.h 第 180 行定义.

参考 ystdex::construct(), ystdex::reset() , 以及 yforward.

函数调用图:
template<typename _type >
template<typename... _tParams>

void ystdex::details::optional_base< _type, true >::construct | ( | _tParams &&... | args | ) |

inline

在文件 optional.h 第 194 行定义.

参考 CHRLib::args , 以及 yforward.

template<typename _type >
template<typename... _tParams>

void ystdex::details::optional_base< _type, true >::construct_raw | ( | _tParams &&... | args | ) |

inlineprivate

在文件 optional.h 第 203 行定义.

参考 CHRLib::args, ystdex::construct_in() , 以及 yforward.

函数调用图:
template<typename _type >

void ystdex::details::optional_base< _type, true >::destroy | ( |  | ) |

inline

在文件 optional.h 第 210 行定义.

template<typename _type >

void ystdex::details::optional_base< _type, true >::destroy_raw | ( |  | ) |

inlineprotected

在文件 optional.h 第 218 行定义.

参考 ystdex::destruct_in() , 以及 ynoexcept_assert.

函数调用图:
template<typename _type >

_type& ystdex::details::optional_base< _type, true >::get | ( |  | ) |

inline

在文件 optional.h 第 227 行定义.

template<typename _type >

bool ystdex::details::optional_base< _type, true >::is_engaged | ( |  | ) | const

inline

在文件 optional.h 第 233 行定义.

template<typename _type >

optional_base& ystdex::details::optional_base< _type, true >::operator= | ( | const optional_base< _type, true > & | s | ) |

inline

在文件 optional.h 第 166 行定义.

参考 ystdex::assign().

函数调用图:
template<typename _type >

optional_base& ystdex::details::optional_base< _type, true >::operator= | ( | optional_base< _type, true > && | s | ) |

inline

自从
  build 630

在文件 optional.h 第 172 行定义.

参考 ystdex::assign() , 以及 CHRLib::s.

函数调用图:
template<typename _type >

void ystdex::details::optional_base< _type, true >::reset | ( |  | ) |

inline

在文件 optional.h 第 239 行定义.

参考 ystdex::any_ops::destroy.

## 类成员变量说明

union { ... }

template<typename _type >

empty_base ystdex::details::optional_base< _type, true >::empty

在文件 optional.h 第 129 行定义.

template<typename _type >

bool ystdex::details::optional_base< _type, true >::engaged = {}

protected

在文件 optional.h 第 132 行定义.

template<typename _type >

_type ystdex::details::optional_base< _type, true >::value

mutable

在文件 optional.h 第 130 行定义.

该类的文档由以下文件生成:

- optional.h