YSTest: ystdex::any_ops 命名空间参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

- 命名空间列表
- 命名空间成员

类 | 类型定义 | 枚举 | 函数 | 变量
ystdex::any_ops 命名空间参考

any 操作的命名空间。 更多...

## 类

class | bidirectional_iterator_handler
class | forward_iterator_handler
class | holder
| 抽象动态泛型持有者接口。 更多...
class | holder_handler
| 动态泛型持有者处理器。 更多...
struct | in_place_t
class | input_iterator_handler
class | invalid_construction
| 使用不满足构造限制检查导致的异常。 更多...
class | iterator_handler
class | pointer_holder
| 指针类型动态泛型持有者。 更多...
class | ref_handler
| 动态泛型引用处理器。 更多...
struct | use_holder_t
| 使用持有者标记。 更多...
class | value_handler
| 动态泛型对象处理器。 更多...
class | value_holder
| 值类型动态泛型持有者。 更多...
struct | with_handler_t
struct | wrap_handler

## 类型定义

using | op_code = std::uint32_t
using | any_storage = standard_layout_storage< aligned_storage_t< sizeof(void *), sizeof(void *)>>
using | any_manager = void(*)(any_storage &, any_storage &, op_code)

## 枚举

enum | base_op : op_code { no_op, get_type, get_ptr, clone, destroy, get_holder_type, get_holder_ptr, end_base_op }
enum | iterator_op : op_code { check_undereferenceable = end_base_op, dereference, increase, end_iterator_op }
enum | input_iterator_op : op_code { equals = end_iterator_op, end_input_iterator_op, end_output_iterator_op = end_input_iterator_op, end_forward_iterator_op = end_input_iterator_op }
enum | bidirectional_iteartor_op : op_code { decrease = end_forward_iterator_op, end_bidirectional_iterator_op }
enum | random_access_iteartor_op : op_code { advance = end_forward_iterator_op, distance, less_compare, end_random_access_iteartor_op }

## 函数

template<class _tHandler , typename... _tParams>
any_manager | construct (any_storage &storage, _tParams &&...args)
| 使用指定处理器初始化存储。 更多...
void | throw_invalid_construction ()

## 变量

const struct ystdex::any_ops::use_holder_t | use_holder

## 详细描述

any 操作的命名空间。

注解
  YStandardEx 扩展。

参见
  any

自从
  build 354

## 类型定义说明

using ystdex::any_ops::any_manager = typedef void(*)(any_storage&, any_storage&, op_code)

自从
  build 352

在文件 any.h 第 266 行定义.

using ystdex::any_ops::any_storage = typedef standard_layout_storage<aligned_storage_t<sizeof(void*), sizeof(void*)>>

自从
  build 352

在文件 any.h 第 264 行定义.

using ystdex::any_ops::op_code = typedef std::uint32_t

自从
  build 354

在文件 any.h 第 244 行定义.

## 枚举类型说明

enum ystdex::any_ops::base_op : op_code

自从
  build 354

枚举值

no_op

自从
  build 355

get_type |
get_ptr |
clone |
destroy |
get_holder_type |
get_holder_ptr |

end_base_op

自从
  build 355

在文件 any.h 第 247 行定义.

enum ystdex::any_ops::bidirectional_iteartor_op : op_code

枚举值
decrease |
end_bidirectional_iterator_op |

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

enum ystdex::any_ops::input_iterator_op : op_code

枚举值
equals |
end_input_iterator_op |
end_output_iterator_op |
end_forward_iterator_op |

在文件 any_iterator.hpp 第 55 行定义.

enum ystdex::any_ops::iterator_op : op_code

自从
  build 355

枚举值

check_undereferenceable

自从
  build 400

dereference |
increase |
end_iterator_op |

在文件 any_iterator.hpp 第 45 行定义.

enum ystdex::any_ops::random_access_iteartor_op : op_code

枚举值
advance |
distance |
less_compare |
end_random_access_iteartor_op |

在文件 any_iterator.hpp 第 71 行定义.

## 函数说明

template<class _tHandler , typename... _tParams>

any_manager ystdex::any_ops::construct | ( | any_storage & | storage,
|  | _tParams &&... | args
| ) |  |

使用指定处理器初始化存储。

自从
  build 687

在文件 any.h 第 274 行定义.

参考 CHRLib::args , 以及 yforward.

void ystdex::any_ops::throw_invalid_construction | ( |  | ) |

related

在文件 any.cpp 第 43 行定义.

参考自 ystdex::any_ops::value_handler< _tHolder >::try_init().

这是这个函数的调用关系图:

## 变量说明

const struct ystdex::any_ops::use_holder_t ystdex::any_ops::use_holder

参考自 YSLib::ValueObject::Emplace().