OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
cv::TLSDataAccumulator< T > 类模板参考

带有收集方法的 TLS 数据累加器。 更多…

#include <opencv2/core/utils/tls.hpp>

cv::TLSDataAccumulator< T > 的协作图

公共成员函数

 TLSDataAccumulator ()
 
 ~TLSDataAccumulator ()
 
void cleanup ()
 释放关联的线程数据。
 
void cleanupDetachedData ()
 释放由 detachData() 调用返回的关联线程数据。
 
std::vector< T * > & detachData ()
 获取并分离所有线程的数据。
 
void gather (std::vector< T * > &data) const
 获取所有线程的数据。
 
void release ()
 释放关联的线程数据并释放 TLS 密钥。
 
- 从 cv::TLSData< T > 继承的公共成员函数
 TLSData ()
 
 ~TLSData ()
 
void cleanup ()
 释放关联的线程数据。
 
T * get () const
 获取与密钥关联的数据。
 
T & getRef () const
 获取与密钥关联的数据。
 

保护成员函数

void _cleanupDetachedData ()
 
void _cleanupTerminatedData ()
 
virtual void * createDataInstance () const CV_OVERRIDE
 包装器,用于通过模板分配数据。
 
virtual void deleteDataInstance (void *pData) const CV_OVERRIDE
 包装器,用于通过模板释放数据。
 
- 从 cv::TLSData< T > 继承的保护成员函数
- 从 cv::TLSDataContainer 继承的保护成员函数
 TLSDataContainer ()
 
virtual ~TLSDataContainer ()
 
void detachData (std::vector< void * > &data)
 获取 TLS 数据并从线程中分离所有数据(类似于 cleanup() 调用)
 
void gatherData (std::vector< void * > &data) const
 
void * getData () const
 
void release ()
 
void cleanup ()
 释放已创建的 TLS 数据容器对象。它类似于 release() 调用,但它保持 TLS 容器有效。
 

详细描述

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

带有收集方法的 TLS 数据累加器。

构造函数和析构函数文档

◆ TLSDataAccumulator()

template<typename T >
cv::TLSDataAccumulator< T >::TLSDataAccumulator ( )
inline

◆ ~TLSDataAccumulator()

template<typename T >
cv::TLSDataAccumulator< T >::~TLSDataAccumulator ( )
inline
以下是此函数的调用图

成员函数文档

◆ _cleanupDetachedData()

template<typename T >
void cv::TLSDataAccumulator< T >::_cleanupDetachedData ( )
inlineprotected
以下是此函数的调用图

◆ _cleanupTerminatedData()

template<typename T >
void cv::TLSDataAccumulator< T >::_cleanupTerminatedData ( )
inlineprotected
以下是此函数的调用图

◆ cleanup()

template<typename T >
void cv::TLSDataAccumulator< T >::cleanup ( )
inline

释放关联的线程数据。

以下是此函数的调用图

◆ cleanupDetachedData()

template<typename T >
void cv::TLSDataAccumulator< T >::cleanupDetachedData ( )
inline

释放由 detachData() 调用返回的关联线程数据。

以下是此函数的调用图

◆ createDataInstance()

template<typename T >
virtual void * cv::TLSDataAccumulator< T >::createDataInstance ( ) const
inlineprotectedvirtual

包装器,用于通过模板分配数据。

cv::TLSData< T > 重实现。

◆ deleteDataInstance()

template<typename T >
virtual void cv::TLSDataAccumulator< T >::deleteDataInstance ( void * pData) const
inlineprotectedvirtual

包装器,用于通过模板释放数据。

cv::TLSData< T > 重实现。

◆ detachData()

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

获取并分离所有线程的数据。

当不再需要返回的向量时,调用 cleanupDetachedData()

返回值
包含关联数据的向量。内容在下次 detachData()/cleanupDetachedData()/cleanup()/release() 调用之前保持不变(包括附加数据指针的生命周期)
以下是此函数的调用图

◆ gather()

template<typename T >
void cv::TLSDataAccumulator< T >::gather ( std::vector< T * > & data) const
inline

获取所有线程的数据。

已弃用
detachData() 替代

向量数据的生命周期在下次 detachData()/cleanup()/release() 调用之前有效

参数
[out]data结果缓冲区(应为空)
以下是此函数的调用图

◆ release()

template<typename T >
void cv::TLSDataAccumulator< T >::release ( )
inline

释放关联的线程数据并释放 TLS 密钥。

以下是此函数的调用图

此类的文档是从以下文件生成的: