oa::SharedPtr

SharedPtr class in the OA Core public surface.

Public Methods

T * oa::SharedPtr::get()
bool oa::SharedPtr::operator bool()
T & oa::SharedPtr::operator*()
T * oa::SharedPtr::operator->()
SharedPtr<T> & oa::SharedPtr::operator=(SharedPtr<T> && inO)
SharedPtr<T> & oa::SharedPtr::operator=(const SharedPtr<T> & inO)
SharedPtr<T> & oa::SharedPtr::operator=(decltype(nullptr))
void oa::SharedPtr::reset()
void oa::SharedPtr::reset(T * inP)
void oa::SharedPtr::reset(T * inP, Deleter inD)
void oa::SharedPtr::SharedPtr<T>()
void oa::SharedPtr::SharedPtr<T>(SharedPtr<T> && inO)
void oa::SharedPtr::SharedPtr<T>(SharedPtr<U> && inO)
void oa::SharedPtr::SharedPtr<T>(T * inP)
void oa::SharedPtr::SharedPtr<T>(T * inP, Deleter inD)
void oa::SharedPtr::SharedPtr<T>(const SharedPtr<T> & inO)
void oa::SharedPtr::SharedPtr<T>(const SharedPtr<U> & inO)
void oa::SharedPtr::SharedPtr<T>(decltype(nullptr))
void oa::SharedPtr::swap(SharedPtr<T> & inO)
long oa::SharedPtr::useCount()
void * oa::SharedPtr::get()
SharedPtr<void> & oa::SharedPtr::operator=(SharedPtr<void> && inO)
SharedPtr<void> & oa::SharedPtr::operator=(const SharedPtr<void> & inO)
SharedPtr<void> & oa::SharedPtr::operator=(decltype(nullptr))
void oa::SharedPtr::reset(void * inP, Deleter inD)
void oa::SharedPtr::swap(SharedPtr<void> & inO)

Constructor & Destructor Documentation

void oa::SharedPtr::~SharedPtr<T>()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

oa::SharedPtr::SharedPtr()
No public source comment is attached to this declaration.
oa::SharedPtr::SharedPtr( SharedPtr<void> && inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<void> &&

oa::SharedPtr::SharedPtr( const SharedPtr<void> & inO )
No public source comment is attached to this declaration.

Parameters

inO
const SharedPtr<void> &

oa::SharedPtr::SharedPtr( decltype(nullptr) )
No public source comment is attached to this declaration.

Parameters

(unnamed)
decltype(nullptr)

oa::SharedPtr::SharedPtr( void * inP, Deleter inD )
No public source comment is attached to this declaration.

Parameters

inP
void *

inD
Deleter

void oa::SharedPtr::~SharedPtr()
No public source comment is attached to this declaration.

Public Method Documentation

T * oa::SharedPtr::get()
No public source comment is attached to this declaration.

Returns

T *

The declared return value.

bool oa::SharedPtr::operator bool()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

T & oa::SharedPtr::operator*()
No public source comment is attached to this declaration.

Returns

T &

The declared return value.

T * oa::SharedPtr::operator->()
No public source comment is attached to this declaration.

Returns

T *

The declared return value.

SharedPtr<T> & oa::SharedPtr::operator=( SharedPtr<T> && inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<T> &&

Returns

SharedPtr<T> &

The declared return value.

SharedPtr<T> & oa::SharedPtr::operator=( const SharedPtr<T> & inO )
No public source comment is attached to this declaration.

Parameters

inO
const SharedPtr<T> &

Returns

SharedPtr<T> &

The declared return value.

SharedPtr<T> & oa::SharedPtr::operator=( decltype(nullptr) )
No public source comment is attached to this declaration.

Parameters

(unnamed)
decltype(nullptr)

Returns

SharedPtr<T> &

The declared return value.

void oa::SharedPtr::reset()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

void oa::SharedPtr::reset( T * inP )
No public source comment is attached to this declaration.

Parameters

inP
T *

Returns

void

The declared return value.

void oa::SharedPtr::reset( T * inP, Deleter inD )
No public source comment is attached to this declaration.

Parameters

inP
T *

inD
Deleter

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( SharedPtr<T> && inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<T> &&

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( SharedPtr<U> && inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<U> &&

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( T * inP )
No public source comment is attached to this declaration.

Parameters

inP
T *

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( T * inP, Deleter inD )
No public source comment is attached to this declaration.

Parameters

inP
T *

inD
Deleter

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( const SharedPtr<T> & inO )
No public source comment is attached to this declaration.

Parameters

inO
const SharedPtr<T> &

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( const SharedPtr<U> & inO )
No public source comment is attached to this declaration.

Parameters

inO
const SharedPtr<U> &

Returns

void

The declared return value.

void oa::SharedPtr::SharedPtr<T>( decltype(nullptr) )
No public source comment is attached to this declaration.

Parameters

(unnamed)
decltype(nullptr)

Returns

void

The declared return value.

void oa::SharedPtr::swap( SharedPtr<T> & inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<T> &

Returns

void

The declared return value.

long oa::SharedPtr::useCount()
No public source comment is attached to this declaration.

Returns

long

The declared return value.

void * oa::SharedPtr::get()
No public source comment is attached to this declaration.

Returns

void *

The declared return value.

SharedPtr<void> & oa::SharedPtr::operator=( SharedPtr<void> && inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<void> &&

Returns

SharedPtr<void> &

The declared return value.

SharedPtr<void> & oa::SharedPtr::operator=( const SharedPtr<void> & inO )
No public source comment is attached to this declaration.

Parameters

inO
const SharedPtr<void> &

Returns

SharedPtr<void> &

The declared return value.

SharedPtr<void> & oa::SharedPtr::operator=( decltype(nullptr) )
No public source comment is attached to this declaration.

Parameters

(unnamed)
decltype(nullptr)

Returns

SharedPtr<void> &

The declared return value.

void oa::SharedPtr::reset( void * inP, Deleter inD )
No public source comment is attached to this declaration.

Parameters

inP
void *

inD
Deleter

Returns

void

The declared return value.

void oa::SharedPtr::swap( SharedPtr<void> & inO )
No public source comment is attached to this declaration.

Parameters

inO
SharedPtr<void> &

Returns

void

The declared return value.