VTK
9.3.20240831
|
Thread local storage for VTK objects. More...
#include <vtkSMPThreadLocalObject.h>
Classes | |
class | iterator |
Subset of the standard iterator API. More... | |
Public Member Functions | |
vtkSMPThreadLocalObject () | |
Default constructor. | |
vtkSMPThreadLocalObject (T *const &exemplar) | |
virtual | ~vtkSMPThreadLocalObject () |
size_t | size () const |
Return the number of thread local objects that have been initialized. | |
T *& | Local () |
Returns an object local to the current thread. | |
iterator | begin () |
iterator | end () |
Thread local storage for VTK objects.
This class essentially does the same thing as vtkSMPThreadLocal with 2 additional functions:
* vtkSMPThreadLocal<int> Foo; * vtkSMPThreadLocal<int> Bar; * class AFunctor * { * void Initialize() const * { * int& foo = Foo.Local(); * int& bar = Bar.Local(); * foo = random(); * bar = foo; * } * * @warning * void operator()(vtkIdType, vtkIdType) * {} * void Finalize() * {} * }; * * @warning * AFunctor functor; * vtkSMPTools::For(0, 100000, functor); * * @warning * vtkSMPThreadLocal<int>::iterator itr1 = Foo.begin(); * vtkSMPThreadLocal<int>::iterator itr2 = Bar.begin(); * while (itr1 != Foo.end()) * { * assert(*itr1 == *itr2); * ++itr1; ++itr2; * } *
Definition at line 72 of file vtkSMPThreadLocalObject.h.
|
inline |
Default constructor.
Definition at line 86 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 92 of file vtkSMPThreadLocalObject.h.
|
inlinevirtual |
Definition at line 98 of file vtkSMPThreadLocalObject.h.
|
inline |
Returns an object local to the current thread.
This object is allocated with T::New() and will be deleted in the destructor of vtkSMPThreadLocalObject.
Definition at line 117 of file vtkSMPThreadLocalObject.h.
|
inline |
Return the number of thread local objects that have been initialized.
Definition at line 138 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 178 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 185 of file vtkSMPThreadLocalObject.h.