HDK
|
#include <UT_ThreadSpecificValue.h>
Classes | |
class | const_iterator |
class | iterator |
Public Types | |
typedef T | value_type |
Public Member Functions | |
UT_ThreadSpecificValue () | |
UT_ThreadSpecificValue (const ThisType &src) | |
UT_ThreadSpecificValue & | operator= (const ThisType &src) |
Assignment is NOT thread-safe when src is being concurrently modified! More... | |
T & | getValueForThread (int thread_index) |
const T & | getValueForThread (int thread_index) const |
T & | get () |
T & | local () |
const T & | get () const |
const T & | local () const |
const_iterator | begin () const |
begin() const iterator More... | |
const_iterator | end () const |
end() const iterator More... | |
iterator | begin () |
begin() iterator More... | |
iterator | end () |
end() iterator More... | |
int | maxThreadsSeen () const |
void | clear () |
Clear values for all threads, resetting to the initial state. More... | |
exint | getMemoryUsage (bool inclusive) const |
UT_ThreadSpecificValue (ThisType &&)=default | |
UT_ThreadSpecificValue & | operator= (ThisType &&)=default |
Friends | |
class | const_iterator |
A class for storing thread local values of type T. By default, the alignment of the type T's will be 64-byte aligned but this can be adjusted by supplying the ALIGNMENT template parameter, or use 0 to disable. For optimal performance, use an ALIGNMENT of 128 bytes but this can waste quite a lot of space.
Definition at line 137 of file UT_ThreadSpecificValue.h.
typedef T UT_ThreadSpecificValue< T, ALIGNMENT >::value_type |
Definition at line 147 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 149 of file UT_ThreadSpecificValue.h.
|
inlineexplicit |
Mark copy constructor as explicit to disallow accidental passing by value to functions. Assignment is NOT thread-safe when src is being concurrently modified!
Definition at line 169 of file UT_ThreadSpecificValue.h.
|
default |
|
inline |
begin() const iterator
Definition at line 383 of file UT_ThreadSpecificValue.h.
|
inline |
begin() iterator
Definition at line 390 of file UT_ThreadSpecificValue.h.
|
inline |
Clear values for all threads, resetting to the initial state.
Definition at line 407 of file UT_ThreadSpecificValue.h.
|
inline |
end() const iterator
Definition at line 386 of file UT_ThreadSpecificValue.h.
|
inline |
end() iterator
Definition at line 393 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 245 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 248 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 412 of file UT_ThreadSpecificValue.h.
|
inline |
Access the value for a particular thread index. Note that the threads you care about may not have been assigned sequentially! Always loop up to the maxthreads value and be able to handle zero-initialized empty data.
Definition at line 209 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 228 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 246 of file UT_ThreadSpecificValue.h.
|
inline |
Definition at line 249 of file UT_ThreadSpecificValue.h.
|
inline |
The number of values that require iteration. Don't use this for iteration - use iterators instead.
Definition at line 398 of file UT_ThreadSpecificValue.h.
|
inline |
Assignment is NOT thread-safe when src is being concurrently modified!
Definition at line 176 of file UT_ThreadSpecificValue.h.
|
default |
|
friend |
Definition at line 446 of file UT_ThreadSpecificValue.h.