RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
OwningPtr< T, D > 模板类 参考

#include <vrpn_OwningPtr.h>

Public 类型

typedef T element_type
 
typedef T & reference_type
 
typedef D deleter_type
 
typedef traits::OwningPtrPointerType< T >::type pointer
 
typedef OwningPtr< T, D > type
 

Public 成员函数

 OwningPtr ()
 Construct empty.
 
 OwningPtr (pointer p)
 
 ~OwningPtr ()
 Destructor: deletes owned object, if any.
 
void reset (pointer p=pointer())
 
pointer release ()
 Returns the held pointer without performing the delete action.
 
void swap (type &other)
 Swap pointers with another OwningPtr of the same type.
 
pointer get () const
 Gets pointer value
 
pointer operator-> () const
 Smart pointer operator overload
 
reference_type operator* () const
 Smart pointer operator
 
bool valid () const
 Checks pointer validity
 
bool operator! () const
 Redundant way of checking pointer validity
 

Safe bool idiom - in the absence of explicit operator bool()

typedef pointer type::* unspecified_bool_type
 
 operator unspecified_bool_type () const
 

详细描述

template<typename T, typename D = DefaultDeleter<T>>
class vrpn::OwningPtr< T, D >

A unique-ownership smart pointer, with the ability to transfer ownership, but only explicitly (aka, not like auto_ptr did it).

Essentially, a hybrid of boost::scoped_ptr and std::unique_ptr that doesn't require C++11.

Limitations relative to unique_ptr: no move semantics (naturally, since no C++11, and have not implemented rvalue-reference-emulation), no stateful deleters, and no casting or conversions.

构造及析构函数说明

◆ OwningPtr() [1/2]

template<typename T , typename D = DefaultDeleter<T>>
OwningPtr ( )
inline

Construct empty.

◆ OwningPtr() [2/2]

template<typename T , typename D = DefaultDeleter<T>>
OwningPtr ( pointer p)
inlineexplicit

Construct with a raw pointer for a new object to take exclusive ownership of.

◆ ~OwningPtr()

template<typename T , typename D = DefaultDeleter<T>>
~OwningPtr ( )
inline

Destructor: deletes owned object, if any.

+ 函数调用图:

成员函数说明

◆ get()

template<typename T , typename D = DefaultDeleter<T>>
pointer get ( ) const
inline

Gets pointer value

◆ operator!()

template<typename T , typename D = DefaultDeleter<T>>
bool operator! ( ) const
inline

Redundant way of checking pointer validity

+ 函数调用图:

◆ operator*()

template<typename T , typename D = DefaultDeleter<T>>
reference_type operator* ( ) const
inline

Smart pointer operator

+ 函数调用图:

◆ operator->()

template<typename T , typename D = DefaultDeleter<T>>
pointer operator-> ( ) const
inline

Smart pointer operator overload

+ 函数调用图:

◆ release()

template<typename T , typename D = DefaultDeleter<T>>
pointer release ( )
inline

Returns the held pointer without performing the delete action.

◆ reset()

template<typename T , typename D = DefaultDeleter<T>>
void reset ( pointer p = pointer())
inline

Deletes the owned object, if any, and takes ownership of a new object, if one is passed.

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

◆ swap()

template<typename T , typename D = DefaultDeleter<T>>
void swap ( type & other)
inline

Swap pointers with another OwningPtr of the same type.

◆ valid()

template<typename T , typename D = DefaultDeleter<T>>
bool valid ( ) const
inline

Checks pointer validity

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

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