2 #ifndef _MADARA_UTILITY_REFCOUNTER_H_
3 #define _MADARA_UTILITY_REFCOUNTER_H_
28 Refcounter(T* ptr,
bool increase_count =
false);
65 const T*
get(
void)
const;
This template class provides transparent reference counting of its template parameter T.
T * get(void)
get the underlying pointer
virtual ~Refcounter(void)
Dtor will delete pointer if refcount becomes 0.
T & operator*(void)
dereference operator
T * get_ptr(void)
get the underlying pointer
void decrement(void)
implementation of the decrement operation
void operator=(T *ptr)
assignment operator for times when you don't want the reference increased for incoming ptr
void increment(void)
implementation of the increment operation
Shim * ptr_
Pointer to the Shim.
T * operator->(void)
mimic pointer dereferencing
Refcounter(void)
default Ctor
Provides utility functions and classes for common tasks and needs.
Copyright(c) 2020 Galois.
A shim class that keeps track of the reference count and a pointer to the type T that's reference cou...
T * t_
Pointer to the object that's being reference counted.
int refcount_
Current value of the reference count.