Loading...
Searching...
No Matches
cv::TLSDataAccumulator< T > Class Template Reference
TLS data accumulator with gathering methods. More...
#include <opencv2/core/utils/tls.hpp>
Inheritance diagram for cv::TLSDataAccumulator< T >:
Public Member Functions | |
TLSDataAccumulator () | |
~TLSDataAccumulator () | |
void | cleanup () |
Release associated thread data. | |
void | cleanupDetachedData () |
Release associated thread data returned by detachData() call. | |
std::vector< T * > & | detachData () |
Get and detach data from all threads. | |
void | gather (std::vector< T * > &data) const |
Get data from all threads. | |
void | release () |
Release associated thread data and free TLS key. | |
Public Member Functions inherited from cv::TLSData< T > | |
TLSData () | |
~TLSData () | |
void | cleanup () |
Release associated thread data. | |
T * | get () const |
Get data associated with key. | |
T & | getRef () const |
Get data associated with key. | |
Protected Member Functions | |
void | _cleanupDetachedData () |
void | _cleanupTerminatedData () |
virtual void * | createDataInstance () const CV_OVERRIDE |
Wrapper to allocate data by template. | |
virtual void | deleteDataInstance (void *pData) const CV_OVERRIDE |
Wrapper to release data by template. | |
virtual void * | createDataInstance () const CV_OVERRIDE |
Wrapper to allocate data by template. | |
virtual void | deleteDataInstance (void *pData) const CV_OVERRIDE |
Wrapper to release data by template. | |
Protected Member Functions inherited from cv::TLSDataContainer | |
TLSDataContainer () | |
virtual | ~TLSDataContainer () |
virtual void * | createDataInstance () const =0 |
virtual void | deleteDataInstance (void *pData) const =0 |
void | detachData (std::vector< void * > &data) |
get TLS data and detach all data from threads (similar to cleanup() call) | |
void | gatherData (std::vector< void * > &data) const |
void * | getData () const |
void | release () |
void | cleanup () |
Release created TLS data container objects. It is similar to release() call, but it keeps TLS container valid. | |
Detailed Description
template<typename T>
class cv::TLSDataAccumulator< T >
class cv::TLSDataAccumulator< T >
TLS data accumulator with gathering methods.
Constructor & Destructor Documentation
◆ TLSDataAccumulator()
template<typename T >
|
inline |
◆ ~TLSDataAccumulator()
template<typename T >
|
inline |
Member Function Documentation
◆ _cleanupDetachedData()
template<typename T >
|
inlineprotected |
◆ _cleanupTerminatedData()
template<typename T >
|
inlineprotected |
◆ cleanup()
template<typename T >
|
inline |
Release associated thread data.
◆ cleanupDetachedData()
template<typename T >
|
inline |
Release associated thread data returned by detachData() call.
◆ createDataInstance()
template<typename T >
|
inlineprotectedvirtual |
Wrapper to allocate data by template.
Reimplemented from cv::TLSData< T >.
◆ deleteDataInstance()
template<typename T >
|
inlineprotectedvirtual |
Wrapper to release data by template.
Reimplemented from cv::TLSData< T >.
◆ detachData()
template<typename T >
|
inline |
Get and detach data from all threads.
Call cleanupDetachedData() when returned vector is not needed anymore.
- Returns
- Vector with associated data. Content is preserved (including lifetime of attached data pointers) until next detachData()/cleanupDetachedData()/cleanup()/release() calls
◆ gather()
template<typename T >
|
inline |
Get data from all threads.
- Deprecated:
- replaced by detachData()
Lifetime of vector data is valid until next detachData()/cleanup()/release() calls
- Parameters
-
[out] data result buffer (should be empty)
◆ release()
template<typename T >
|
inline |
Release associated thread data and free TLS key.
The documentation for this class was generated from the following file:
- opencv2/core/utils/tls.hpp