mn_linked_ptr.hpp File Reference
#include "../mn_config.hpp"
#include "../mn_def.hpp"

Go to the source code of this file.

Classes

struct  mn::pointer::basic_linked_ptr_node
 This class allows basic_linked_ptr<T> and basic_linked_ptr to share the same base nodes. More...
 
class  mn::pointer::basic_linked_ptr< T >
 This class implements a basic_linked_ptr template that it allows sharing of pointers between instances via reference counting. basic_linked_ptr objects can safely be copied. More...
 

Namespaces

 mn
 
 mn::pointer
 

Typedefs

template<typename T >
using mn::pointer::linked_ptr = basic_linked_ptr< T >
 

Functions

template<typename T >
basic_linked_ptr< T > mn::pointer::make_link (const basic_linked_ptr< T > &value)
 Make a linked pointer. More...
 
template<typename T , typename U >
basic_linked_ptr< T > mn::pointer::make_link (const basic_linked_ptr< U > &value)
 Make a linked pointer from a other linked pointer type. More...
 
template<typename T >
basic_linked_ptr< T > mn::pointer::make_link (T *value)
 Make a link pointer. More...
 
template<typename T >
T * mn::pointer::get (const basic_linked_ptr< T > &_pPtr)
 Get the pointer object. More...
 
template<typename T , typename U >
bool mn::pointer::operator== (const basic_linked_ptr< T > &a, const basic_linked_ptr< U > &b)
 Compares two basic_linked_ptr objects for equality. Equality is defined as being true when the pointer shared between two basic_linked_ptr objects is equal. More...
 
template<typename T , typename U >
bool mn::pointer::operator!= (const basic_linked_ptr< T > &a, const basic_linked_ptr< U > &b)
 Compares two basic_linked_ptr objects for inequality. More...