| glibmm
    2.64.4
    | 
Thread-local data pointer. More...
#include <glibmm/threads.h>
| Public Types | |
| using | DestructorFunc = void(*)(void*) | 
| Public Member Functions | |
| Private (const Private< T >&)=delete | |
| Private< T >& | operator= (const Private< T >&)=delete | 
| Private (DestructorFunc destructor_func=&Private< T >::delete_ptr) | |
| Constructor.  More... | |
| T* | get () | 
| Gets the pointer stored in the calling thread.  More... | |
| void | set (T* data) | 
| Sets the pointer in the calling thread without calling destructor_func().  More... | |
| void | replace (T* data) | 
| Sets the pointer in the calling thread and calls destructor_func().  More... | |
| GPrivate* | gobj () | 
| Static Public Member Functions | |
| static void | delete_ptr (void* data) | 
| Deletes static_cast<T*>(data)  More... | |
Thread-local data pointer.
It is recommended that all instances of this class are statically allocated. The first time an instance is used (get(), set() or replace() is called) glib allocates a scarce OS resource that cannot be deallocated.
| using Glib::Threads::Private< T >::DestructorFunc = void (*) (void*) | 
| 
 | delete | 
| 
 | inlineexplicit | 
Constructor.
| destructor_func | Function pointer, or nullptr. If destructor_func is notnullptrand the stored data pointer is notnullptr, this function is called when replace() is called and when the thread exits. | 
| 
 | static | 
Deletes static_cast<T*>(data)
| 
 | inline | 
Gets the pointer stored in the calling thread.
nullptr is returned. | 
 | inline | 
| 
 | delete | 
| 
 | inline | 
Sets the pointer in the calling thread and calls destructor_func(). 
If a function pointer (and not nullptr) was specified in the constructor, and the stored data pointer before the call to replace() is not nullptr, then destructor_func() is called with this old pointer value.
| 
 | inline | 
Sets the pointer in the calling thread without calling destructor_func().