aurelia::max_shared_ptr< T, Hash, EqnFunc, Alloc, lockfree > Struct Template Reference

Provides a maximally shared allocated pointer. More...

#include <max_shared_ptr.hh>

List of all members.

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_ptroperator= (max_shared_ptr &&other)
max_shared_ptroperator= (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 ()

Detailed Description

template<typename T, typename Hash = mhash<T>, typename EqnFunc = std::equal_to<T>, typename Alloc = pool_allocator<T>, bool lockfree = true>
struct aurelia::max_shared_ptr< T, Hash, EqnFunc, Alloc, lockfree >

Provides a maximally shared allocated pointer.


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