|
ROSE 0.11.145.354
|
Thread local data per object instance.
This is useful when you have a class non-static data member that needs to be thread-local.
where SAWYER_THREAD_LOCAL is a macro expanding to, perhaps, "__thread". C++ only allows thread-local global variables or static member data, as with foo above. That means that a.foo and b.foo alias one another. But if you need some member data to be thread-local per object, you can declare it as MultiInstanceTls<T>. For instance, a.bar and b.bar are different storage locations, and are also thread-local.
Definition at line 190 of file Synchronization.h.
#include <Sawyer/Synchronization.h>
Public Member Functions | |
| MultiInstanceTls () | |
| Default-constructed value. | |
| MultiInstanceTls (const T &value) | |
| Initialize value. | |
| MultiInstanceTls (const MultiInstanceTls &other) | |
| MultiInstanceTls & | operator= (const T &value) |
| Assignment operator. | |
| MultiInstanceTls & | operator= (const MultiInstanceTls &other) |
| T & | operator* () |
| const T & | operator* () const |
| T * | operator-> () |
| const T * | operator-> () const |
| operator T () const | |
| Implicit conversion to enclosed type. | |
| T & | get () |
| Get interior object. | |
| const T & | get () const |
| Get interior object. | |
|
inline |
Default-constructed value.
Definition at line 202 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insert().
|
inline |
Initialize value.
Definition at line 209 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insert().
|
inline |
Definition at line 215 of file Synchronization.h.
|
inline |
Definition at line 236 of file Synchronization.h.
|
inline |
Assignment operator.
Definition at line 222 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insert().
|
inline |
Definition at line 229 of file Synchronization.h.
|
inline |
Get interior object.
Definition at line 244 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMaybeDefault().
|
inline |
Get interior object.
Definition at line 249 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMaybeDefault().
|
inline |
Definition at line 256 of file Synchronization.h.
|
inline |
Definition at line 260 of file Synchronization.h.
|
inline |
Definition at line 264 of file Synchronization.h.
|
inline |
Definition at line 268 of file Synchronization.h.
|
inline |
Implicit conversion to enclosed type.
This is so that the data member can be used as if it were type T rather than a MultiInstanceTls object.
Definition at line 275 of file Synchronization.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMaybeDefault().