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().