| OpenCV 4.3.0 Open Source Computer Vision

Public Member Functions | Protected Member Functions | List of all members
cv::TLSDataAccumulator< T > Class Template Reference
Core functionality » Utility and system functions and macros

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. More...
void | cleanupDetachedData ()
| Release associated thread data returned by detachData() call. More...
std::vector< T * > & | detachData ()
| Get and detach data from all threads. More...
void | gather (std::vector< T *> &data) const
| Get data from all threads. More...
void | release ()
| Release associated thread data and free TLS key. More...
Public Member Functions inherited from cv::TLSData< T >
| TLSData ()
| ~TLSData ()
void | cleanup ()
| Release associated thread data. More...
T * | get () const
| Get data associated with key. More...
T & | getRef () const
| Get data associated with key. More...

## Protected Member Functions
void | _cleanupDetachedData ()
void | _cleanupTerminatedData ()
virtual void * | createDataInstance () const CV_OVERRIDE
| Wrapper to allocate data by template. More...
virtual void | deleteDataInstance (void *pData) const CV_OVERRIDE
| Wrapper to release data by template. More...
Protected Member Functions inherited from cv::TLSDataContainer
| TLSDataContainer ()
virtual | ~TLSDataContainer ()
void | detachData (std::vector< void *> &data)
| get TLS data and detach all data from threads (similar to cleanup() call) More...
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. More...

## Detailed Description

### template<typename T>
class cv::TLSDataAccumulator< T >

TLS data accumulator with gathering methods.

## Constructor & Destructor Documentation

## ◆ TLSDataAccumulator()

template<typename T>

cv::TLSDataAccumulator< T >::TLSDataAccumulator | ( |  | ) |
| inline

## ◆ ~TLSDataAccumulator()

template<typename T>

cv::TLSDataAccumulator< T >::~TLSDataAccumulator | ( |  | ) |
| inline

## Member Function Documentation

## ◆ _cleanupDetachedData()

template<typename T>

void cv::TLSDataAccumulator< T >::_cleanupDetachedData | ( |  | ) |
| inline protected

## ◆ _cleanupTerminatedData()

template<typename T>

void cv::TLSDataAccumulator< T >::_cleanupTerminatedData | ( |  | ) |
| inline protected

## ◆ cleanup()

template<typename T>

void cv::TLSDataAccumulator< T >::cleanup | ( |  | ) |
| inline

Release associated thread data.

## ◆ cleanupDetachedData()

template<typename T>

void cv::TLSDataAccumulator< T >::cleanupDetachedData | ( |  | ) |
| inline

Release associated thread data returned by detachData() call.

## ◆ createDataInstance()

template<typename T>

virtual void* cv::TLSDataAccumulator< T >::createDataInstance | ( |  | ) | const
| inline protected virtual

Wrapper to allocate data by template.

Reimplemented from cv::TLSData< T >.

## ◆ deleteDataInstance()

template<typename T>

virtual void cv::TLSDataAccumulator< T >::deleteDataInstance | ( | void * | pData | ) | const
| inline protected virtual

Wrapper to release data by template.

Reimplemented from cv::TLSData< T >.

## ◆ detachData()

template<typename T>

std::vector<T*>& cv::TLSDataAccumulator< T >::detachData | ( |  | ) |
| 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>

void cv::TLSDataAccumulator< T >::gather | ( | std::vector< T *> & | data | ) | const
| 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>

void cv::TLSDataAccumulator< T >::release | ( |  | ) |
| 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