VTK
|
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. More... | |
vtkSMPThreadLocalObject (T *const &exemplar) | |
virtual | ~vtkSMPThreadLocalObject () |
size_t | size () const |
Return the number of thread local objects that have been initialized. More... | |
T *& | Local () |
Returns an object local to the current thread. More... | |
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 83 of file vtkSMPThreadLocalObject.h.
|
inline |
Default constructor.
Definition at line 97 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 101 of file vtkSMPThreadLocalObject.h.
|
inlinevirtual |
Definition at line 105 of file vtkSMPThreadLocalObject.h.
|
inline |
Returns an object local to the current thread.
This object is allocated with ::New() and will be deleted in the destructor of vtkSMPThreadLocalObject.
Definition at line 124 of file vtkSMPThreadLocalObject.h.
|
inline |
Return the number of thread local objects that have been initialized.
Definition at line 145 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 200 of file vtkSMPThreadLocalObject.h.
|
inline |
Definition at line 207 of file vtkSMPThreadLocalObject.h.