YSTest: ystdex::nifty_counter< _type, _tCount > 模板类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 静态 Private 成员函数 | 所有成员列表
ystdex::nifty_counter< _type, _tCount > 模板类 参考
Initialization Managers

使用引用计数的静态初始化管理器。 更多...

`#include <utility.hpp>`

## Public 类型

typedef _type | object_type
typedef _tCount | count_type

## Public 成员函数

template<typename... _tParams>
| nifty_counter (_tParams &&...args)
| ~nifty_counter ()

## 静态 Public 成员函数

static object_type & | get ()
static count_type | use_count ()

## 静态 Private 成员函数

static count_type & | get_count ()
static object_type *& | get_object_ptr ()

## 详细描述

### template<class _type, typename _tCount = size_t>
class ystdex::nifty_counter< _type, _tCount >

使用引用计数的静态初始化管理器。

参见
  http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter 。

警告
  非线程安全。

自从
  build 328

静态初始化，通过引用计数保证所有在定义本类型的对象后已有静态对象被初始化。 在所有翻译单元的本类型对象析构后自动反初始化。

在文件 utility.hpp 第 268 行定义.

## 成员类型定义说明

template<class _type , typename _tCount = size_t>

typedef _tCount ystdex::nifty_counter< _type, _tCount >::count_type

在文件 utility.hpp 第 272 行定义.

template<class _type , typename _tCount = size_t>

typedef _type ystdex::nifty_counter< _type, _tCount >::object_type

在文件 utility.hpp 第 271 行定义.

## 构造及析构函数说明

template<class _type , typename _tCount = size_t>
template<typename... _tParams>

ystdex::nifty_counter< _type, _tCount >::nifty_counter | ( | _tParams &&... | args | ) |

inline

在文件 utility.hpp 第 275 行定义.

参考 ystdex::nifty_counter< _type, _tCount >::get_count(),ystdex::nifty_counter< _type, _tCount >::get_object_ptr() , 以及 yforward.

函数调用图:
template<class _type , typename _tCount = size_t>

ystdex::nifty_counter< _type, _tCount >::~nifty_counter | ( |  | ) |

inline

在文件 utility.hpp 第 280 行定义.

参考 ystdex::nifty_counter< _type, _tCount >::get_count() , 以及 ystdex::nifty_counter< _type, _tCount >::get_object_ptr().

函数调用图:

## 成员函数说明

template<class _type , typename _tCount = size_t>

static object_type& ystdex::nifty_counter< _type, _tCount >::get | ( |  | ) |

inlinestatic

在文件 utility.hpp 第 287 行定义.

参考 ystdex::nifty_counter< _type, _tCount >::get_object_ptr() , 以及 yassume.

函数调用图:
template<class _type , typename _tCount = size_t>

static count_type& ystdex::nifty_counter< _type, _tCount >::get_count | ( |  | ) |

inlinestaticprivate

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

参考自 ystdex::nifty_counter< _type, _tCount >::nifty_counter(),ystdex::nifty_counter< _type, _tCount >::use_count() , 以及 ystdex::nifty_counter< _type, _tCount >::~nifty_counter().

这是这个函数的调用关系图:
template<class _type , typename _tCount = size_t>

static object_type*& ystdex::nifty_counter< _type, _tCount >::get_object_ptr | ( |  | ) |

inlinestaticprivate

在文件 utility.hpp 第 303 行定义.

参考自 ystdex::nifty_counter< _type, _tCount >::get(),ystdex::nifty_counter< _type, _tCount >::nifty_counter() , 以及 ystdex::nifty_counter< _type, _tCount >::~nifty_counter().

这是这个函数的调用关系图:
template<class _type , typename _tCount = size_t>

static count_type ystdex::nifty_counter< _type, _tCount >::use_count | ( |  | ) |

inlinestatic

在文件 utility.hpp 第 312 行定义.

参考 ystdex::nifty_counter< _type, _tCount >::get_count().

函数调用图:

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

- utility.hpp