staticlib_support  1.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | List of all members
staticlib::support::observer_ptr< T > Class Template Reference

Non-owning pointer. More...

#include <staticlib/support/observer_ptr.hpp>

Public Member Functions

 observer_ptr ()
 Constructs empty instance.
 observer_ptr (T *target)
 Constructor.
 observer_ptr (T &target)
 Constructor.
 observer_ptr (const observer_ptr &other)
 Copy constructor.
observer_ptr & operator= (const observer_ptr &other)
 Copy assignment operator.
 operator bool () const
 Overloaded bool operator.
bool has_value () const
 Check whether this instance stores value.
T & operator* () const
 Returns reference to stored object.
T * operator-> () const
 Returns stored pointer.
T * get () const
 Returns stored pointer.
void reset (T *targ=nullptr)
 Make this instance empty.

Detailed Description

template<typename T>
class staticlib::support::observer_ptr< T >

Non-owning pointer.

Constructor & Destructor Documentation

template<typename T >
staticlib::support::observer_ptr< T >::observer_ptr ( )
inline

Constructs empty instance.

template<typename T >
staticlib::support::observer_ptr< T >::observer_ptr ( T *  target)
inlineexplicit

Constructor.

Parameters
targetpointer to store in this instance
template<typename T >
staticlib::support::observer_ptr< T >::observer_ptr ( T &  target)
inlineexplicit

Constructor.

Parameters
targetreference to store in this instance
template<typename T >
staticlib::support::observer_ptr< T >::observer_ptr ( const observer_ptr< T > &  other)
inline

Copy constructor.

Parameters
otherother instance

Member Function Documentation

template<typename T >
T* staticlib::support::observer_ptr< T >::get ( ) const
inline

Returns stored pointer.

Returns
stored pointer
Exceptions
bad_observed_pointer_access_exceptionif this instance is empty
template<typename T >
bool staticlib::support::observer_ptr< T >::has_value ( ) const
inline

Check whether this instance stores value.

Returns
true if this instance stores value, false otherwise
template<typename T >
staticlib::support::observer_ptr< T >::operator bool ( ) const
inlineexplicit

Overloaded bool operator.

Returns
true if this instance stores value, false otherwise
template<typename T >
T& staticlib::support::observer_ptr< T >::operator* ( ) const
inline

Returns reference to stored object.

Returns
reference to stored object
Exceptions
bad_observed_pointer_access_exceptionif this instance is empty
template<typename T >
T* staticlib::support::observer_ptr< T >::operator-> ( ) const
inline

Returns stored pointer.

Returns
stored pointer
Exceptions
bad_observed_pointer_access_exceptionif this instance is empty
template<typename T >
observer_ptr& staticlib::support::observer_ptr< T >::operator= ( const observer_ptr< T > &  other)
inline

Copy assignment operator.

Parameters
otherother instance
Returns
this instance
template<typename T >
void staticlib::support::observer_ptr< T >::reset ( T *  targ = nullptr)
inline

Make this instance empty.


The documentation for this class was generated from the following file: