MeixnerGC  1.0
make_gc< T > Class Template Reference

#include <gc_ptr.h>

Inheritance diagram for make_gc< T >:
Collaboration diagram for make_gc< T >:

Public Member Functions

template<class... Args>
 make_gc (Args &&...args)
 
- Public Member Functions inherited from gc_ptr< T >
 gc_ptr ()
 
 gc_ptr (nullptr_t)
 
 gc_ptr (const gc_ptr &o)
 
 gc_ptr (gc_ptr &&o)
 
 gc_ptr (const gc_base_ptr &o, T *p)
 
template<class U >
 gc_ptr (const gc_ptr< U > &o)
 
gc_ptroperator= (const gc_ptr &o)
 
gc_ptroperator= (gc_ptr &&o)
 
gc_ptroperator= (nullptr_t)
 
T * get () const noexcept
 
 operator T * () const noexcept
 
T & operator* () const noexcept
 
T * operator-> () const noexcept
 
T & operator[] (int idx) const noexcept
 
void reset ()
 
gc_ptr< T > & operator++ () noexcept
 
gc_ptr< T > & operator-- () noexcept
 
gc_ptr< T > operator++ (int) noexcept
 
gc_ptr< T > operator-- (int) noexcept
 
template<class U >
gc_ptr< T > & operator+= (const U &z) noexcept
 
template<class U >
gc_ptr< T > & operator-= (const U &z) noexcept
 
- Public Member Functions inherited from gc_base_ptr
 gc_base_ptr (gc_object *c=nullptr)
 
 gc_base_ptr (const gc_base_ptr &o)
 
 gc_base_ptr (gc_base_ptr &&o)
 
void operator= (nullptr_t)
 
void operator= (const gc_base_ptr &o)
 
void operator= (gc_base_ptr &&o)
 
void reset ()
 
 ~gc_base_ptr ()
 

Additional Inherited Members

- Protected Types inherited from gc_base_ptr
enum  PtrType { ROOT, GC_HEAP }
 
- Protected Attributes inherited from gc_ptr< T >
T * ptr
 
- Protected Attributes inherited from gc_base_ptr
enum gc_base_ptr::PtrType type
 
std::atomic< gc_base_ptr * > next
 
std::atomic< gc_object * > object
 

Detailed Description

template<class T>
class make_gc< T >

class for allocating new objects

Constructor & Destructor Documentation

template<class T >
template<class... Args>
make_gc< T >::make_gc ( Args &&...  args)
inline

Allocate object and return gc_ptr to it.

Template Parameters
Tobject type to allocate
Parameters
[in]argsarguments that are forwarded to the constructor of the object

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