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::SharedHandle
| This is a generic class for managing the lifetime of objects allocated on freestore. More...
class | Cgu::ScopedHandle
| This is a generic scoped class for managing the lifetime of objects allocated on freestore. 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
| This is a generic class for managing the lifetime of objects allocated on freestore. More...
class | Cgu::ScopedHandle
| 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. More...
typedef ScopedHandle< gchar *, GFree > | Cgu::GcharScopedHandle
| A handle comprising a typed instance of the ScopedHandle class for gchar* arrays and strings. 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)