Class cv::TLSDataAccumulator#

TLS data accumulator with gathering methods.

Collaboration diagram for cv::TLSDataAccumulator:

Public Member Functions#

Public Member Functions inherited from cv::TLSData

Return

Name

Description

TLSData()

~TLSData()

void

cleanup()

Release associated thread data.

T *

get()

Get data associated with key.

T &

getRef()

Get data associated with key.

Public Member Functions inherited from cv::TLSDataContainer

Return

Name

Description

void

cleanup()

Release created TLS data container objects. It is similar to release() call, but it keeps TLS container valid.

Additional Inherited Members#

Protected Member Functions inherited from cv::TLSData

Return

Name

Description

void *

createDataInstance()

Wrapper to allocate data by template.

void

deleteDataInstance(void * pData)

Wrapper to release data by template.

Protected Member Functions inherited from cv::TLSDataContainer

Return

Name

Description

TLSDataContainer()

~TLSDataContainer()

void *

createDataInstance()

void

deleteDataInstance(void * pData)

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)

void *

getData()

void

release()

Friends inherited from cv::TLSDataContainer

Return

Name

Description

class

cv::details::TlsStorage

Detailed Description#

TLS data accumulator with gathering methods.

Constructor & Destructor Documentation#

TLSDataAccumulator()#

cv::TLSDataAccumulator::TLSDataAccumulator()

~TLSDataAccumulator()#

cv::TLSDataAccumulator::~TLSDataAccumulator()

Here is the call graph for this function:

Member Function Documentation#

cleanup()#

void cv::TLSDataAccumulator::cleanup()

Release associated thread data.

Here is the call graph for this function:

cleanupDetachedData()#

void cv::TLSDataAccumulator::cleanupDetachedData()

Release associated thread data returned by detachData() call.

Here is the call graph for this function:

detachData()#

std::vector< T * > & cv::TLSDataAccumulator::detachData()

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

Here is the call graph for this function:

cv::TLSDataAccumulator::detachData Node1 cv::TLSDataAccumulator ::detachData Node2 cv::TLSDataContainer ::detachData Node1->Node2

cv::TLSDataAccumulator::detachData Node1 cv::TLSDataAccumulator ::detachData Node2 cv::TLSDataContainer ::detachData Node1->Node2

gather()#

void cv::TLSDataAccumulator::gather(std::vector< T * > & data)

Get data from all threads.

Deprecated

replaced by detachData()

Lifetime of vector data is valid until next detachData()/cleanup()/release() calls

Parameters

  • data — result buffer (should be empty)

Here is the call graph for this function:

cv::TLSDataAccumulator::gather Node1 cv::TLSDataAccumulator ::gather Node2 cv::TLSDataContainer ::gatherData Node1->Node2

cv::TLSDataAccumulator::gather Node1 cv::TLSDataAccumulator ::gather Node2 cv::TLSDataContainer ::gatherData Node1->Node2

release()#

void cv::TLSDataAccumulator::release()

Release associated thread data and free TLS key.

Here is the call graph for this function:

_cleanupDetachedData()#

void cv::TLSDataAccumulator::_cleanupDetachedData()

Here is the call graph for this function:

cv::TLSDataAccumulator::_cleanupDetachedData Node1 cv::TLSDataAccumulator ::_cleanupDetachedData Node2 cv::TLSDataAccumulator ::deleteDataInstance Node1->Node2

cv::TLSDataAccumulator::_cleanupDetachedData Node1 cv::TLSDataAccumulator ::_cleanupDetachedData Node2 cv::TLSDataAccumulator ::deleteDataInstance Node1->Node2

_cleanupTerminatedData()#

void cv::TLSDataAccumulator::_cleanupTerminatedData()

Here is the call graph for this function:

cv::TLSDataAccumulator::_cleanupTerminatedData Node1 cv::TLSDataAccumulator ::_cleanupTerminatedData Node2 cv::TLSDataAccumulator ::deleteDataInstance Node1->Node2

cv::TLSDataAccumulator::_cleanupTerminatedData Node1 cv::TLSDataAccumulator ::_cleanupTerminatedData Node2 cv::TLSDataAccumulator ::deleteDataInstance Node1->Node2

createDataInstance()#

void * cv::TLSDataAccumulator::createDataInstance()

Wrapper to allocate data by template.

deleteDataInstance()#

void cv::TLSDataAccumulator::deleteDataInstance(void * pData)

Wrapper to release data by template.

Member Data Documentation#

cleanupMode#

bool cv::TLSDataAccumulator::cleanupMode

dataFromTerminatedThreads#

std::vector< T * > cv::TLSDataAccumulator::dataFromTerminatedThreads

detachedData#

std::vector< T * > cv::TLSDataAccumulator::detachedData

mutex#

cv::Mutex cv::TLSDataAccumulator::mutex

Source file#

The documentation for this class was generated from the following file: