c++-gtk-utils
Classes | Namespaces | Typedefs | Enumerations | Functions
shared_handle.h File Reference
#include <exception>
#include <new>
#include <functional>
#include <utility>
#include <cstddef>
#include <cstdlib>
#include <glib.h>
#include <c++-gtk-utils/cgu_config.h>

Go to the source code of this file.

Classes

class  Cgu::StandardArrayDelete< T >
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls the C++ delete[] expression. More...
 
class  Cgu::CFree
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls std::free. More...
 
class  Cgu::GFree
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib's g_free(). More...
 
class  Cgu::GSliceFree< T >
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib's g_slice_free1(). More...
 
class  Cgu::GSliceDestroy< T >
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib's g_slice_free1(), but before doing so also explicitly calls the destructor of a C++ object constructed in the memory. More...
 
class  Cgu::GSliceFreeSize< block_size >
 A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib's g_slice_free1(). More...
 
class  Cgu::SharedHandleError< T >
 This is an exception struct thrown as an alternative to deleting a managed object when internal memory allocation for SharedHandle or SharedLockHandle fails in their reset() method or in their constructor which takes a pointer. More...
 
class  Cgu::SharedHandle< T, Dealloc >
 This is a generic class for managing the lifetime of objects allocated on freestore. More...
 
class  Cgu::ScopedHandle< T, Dealloc >
 This is a generic scoped class for managing the lifetime of objects allocated on freestore. More...
 
class  Cgu::SharedLockHandle< T, Dealloc >
 This is a generic class for managing the lifetime of objects allocated on freestore, with a thread safe reference count.. More...
 

Namespaces

 Cgu
 
 Cgu::SharedHandleAllocFail
 

Typedefs

typedef SharedHandle< gchar *, GFree > Cgu::GcharSharedHandle
 A handle comprising a typed instance of the SharedHandle class for gchar* arrays and strings #include <c++-gtk-utils/shared_handle.h> More...
 
typedef ScopedHandle< gchar *, GFree > Cgu::GcharScopedHandle
 A handle comprising a typed instance of the ScopedHandle class for gchar* arrays and strings #include <c++-gtk-utils/shared_handle.h> More...
 

Enumerations

enum  Cgu::SharedHandleAllocFail::Leave { Cgu::SharedHandleAllocFail::leave }
 

Functions

template<class T , class Dealloc >
bool Cgu::operator== (const SharedHandle< T, Dealloc > &s1, const SharedHandle< T, Dealloc > &s2) noexcept
 
template<class T , class Dealloc >
bool Cgu::operator!= (const SharedHandle< T, Dealloc > &s1, const SharedHandle< T, Dealloc > &s2) noexcept
 
template<class T , class Dealloc >
bool Cgu::operator< (const SharedHandle< T, Dealloc > &s1, const SharedHandle< T, Dealloc > &s2)
 
template<class T , class Dealloc >
bool Cgu::operator== (const SharedLockHandle< T, Dealloc > &s1, const SharedLockHandle< T, Dealloc > &s2) noexcept
 
template<class T , class Dealloc >
bool Cgu::operator!= (const SharedLockHandle< T, Dealloc > &s1, const SharedLockHandle< T, Dealloc > &s2) noexcept
 
template<class T , class Dealloc >
bool Cgu::operator< (const SharedLockHandle< T, Dealloc > &s1, const SharedLockHandle< T, Dealloc > &s2)