Provides a maximally shared allocated pointer. More...
#include <max_shared_ptr.hh>
Classes | |
struct | init_set |
struct | ptr |
Public Member Functions | |
max_shared_ptr (T &&core) | |
max_shared_ptr (const max_shared_ptr &other) | |
max_shared_ptr (max_shared_ptr &&other) | |
max_shared_ptr & | operator= (max_shared_ptr &&other) |
max_shared_ptr & | operator= (const max_shared_ptr &other) |
template<typename... Args, ENABLE_IF_NOT(type_traits::is_same_ellipsis< max_shared_ptr,Args...>) , ENABLE_IF(catsfoot::is_constructible< T(Args...)>) > | |
max_shared_ptr (Args...args...) | |
bool | operator== (const max_shared_ptr &other) const |
bool | operator!= (const max_shared_ptr &other) const |
const T * | get () const |
const T * | operator-> () const |
const T & | operator* () const |
Static Public Member Functions | |
static void | collect () |
Protected Types | |
typedef std::conditional < lockfree, lockfree::unordered_set< ptr, deref_op< Hash >, deref_op < EqnFunc >, Alloc > , std::unordered_set< ptr, deref_op< Hash >, deref_op < EqnFunc >, Alloc > >::type | set_t |
Protected Member Functions | |
max_shared_ptr (const typename set_t::iterator &other) | |
Static Protected Member Functions | |
static set_t & | set () |
Provides a maximally shared allocated pointer.