OpenCV 4.12.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() 调用之前有效

参数
[输出]data结果缓冲区(应为空)
此函数的调用图如下

◆ release()

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

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

此函数的调用图如下

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