OpenCV 4.10.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::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 密钥。

以下是此函数的调用图

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