|
YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
基于类型擦除的动态泛型对象。 更多...
#include <any.h>


Public 成员函数 | |
| any () ynoexcept | |
| any (const any &) | |
| any (any &&a) ynoexcept | |
| ~any () | |
| template<typename _type > | |
| any & | operator= (const _type &x) |
| any & | operator= (const any &a) |
| 复制赋值:使用复制和交换。 | |
| any & | operator= (any &&a) ynoexcept |
| 转移赋值:使用复制和交换。 | |
| bool | operator! () const ynoexcept |
| operator bool () const ynoexcept | |
| bool | empty () const ynoexcept |
| void * | get () const ynoexcept |
| any_ops::holder * | get_holder () const |
| void | clear () ynoexcept |
| void | swap (any &a) ynoexcept |
| const std::type_info & | type () const ynoexcept |
| template<typename _type , typename = typename std::enable_if<!is_same<_type&, any&>::value, int>::type> | |
| any (_type &&x) | |
| template<typename _type > | |
| any (std::reference_wrapper< _type > x) | |
| template<typename _tHolder > | |
| any (any_ops::holder_tag, std::unique_ptr< _tHolder > p) | |
| 构造:使用指定持有者。 | |
| template<typename _type > | |
| any (_type &&x, any_ops::holder_tag) | |
| template<typename _type > | |
| _type * | target () ynoexcept |
| template<typename _type > | |
| const _type * | target () const ynoexcept |
Protected 属性 | |
| any_ops::any_storage | storage |
| any_ops::any_manager | manager |
基于类型擦除的动态泛型对象。
|
inline |
|
inline |
|
inline |
|
inline |
| ystdex::any::any | ( | const any & | a | ) |
参考 ystdex::any_ops::clone,manager , 以及 storage.
| ystdex::any::~any | ( | ) |
| void ystdex::any::clear | ( | ) |
参考 ystdex::any_ops::destroy,manager , 以及 storage.
| void * ystdex::any::get | ( | ) | const |
参考 ystdex::pod_storage< _tPOD >::access(),ystdex::any_ops::get_ptr,manager , 以及 storage.

| any_ops::holder * ystdex::any::get_holder | ( | ) | const |
参考 ystdex::pod_storage< _tPOD >::access(),ystdex::any_ops::get_holder_ptr,manager , 以及 storage.
参考自 YSLib::ValueObject::operator==().


|
inline |
| void ystdex::any::swap | ( | any & | a | ) |
| const std::type_info & ystdex::any::type | ( | ) | const |
参考 ystdex::pod_storage< _tPOD >::access(),ystdex::any_ops::get_type,manager , 以及 storage.
参考自 ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::equals().


|
protected |
参考自 any(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::any_input_iterator(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::check_undereferenceable(),clear(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::equals(),get(),get_holder(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::operator*(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::operator++(),ystdex::any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference >::operator--(),type() , 以及 ~any().
|
protected |
参考自 any(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::any_input_iterator(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::check_undereferenceable(),clear(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::equals(),get(),get_holder(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::operator*(),ystdex::any_input_iterator< _type, _tDifference, _tPointer, _tReference >::operator++(),ystdex::any_bidirectional_iterator< _type, _tDifference, _tPointer, _tReference >::operator--(),type() , 以及 ~any().