Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Eigen::ThreadLocal< T, Initialize, Release > Class Template Reference

#include <ThreadLocal.h>

Classes

struct  ThreadIdAndValue
 

Public Member Functions

void ForEach (std::function< void(std::thread::id, T &)> f)
 
Tlocal ()
 
 ThreadLocal (int capacity)
 
 ThreadLocal (int capacity, Initialize initialize)
 
 ThreadLocal (int capacity, Initialize initialize, Release release)
 
 ~ThreadLocal ()
 

Private Member Functions

TSpilledLocal (std::thread::id this_thread)
 

Private Attributes

const int capacity_
 
MaxSizeVector< ThreadIdAndValuedata_
 
std::atomic< intfilled_records_
 
Initialize initialize_
 
std::mutex mu_
 
std::unordered_map< std::thread::id, Tper_thread_map_
 
MaxSizeVector< std::atomic< ThreadIdAndValue * > > ptr_
 
Release release_
 

Detailed Description

template<typename T, typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
class Eigen::ThreadLocal< T, Initialize, Release >

Definition at line 115 of file ThreadLocal.h.

Constructor & Destructor Documentation

◆ ThreadLocal() [1/3]

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Eigen::ThreadLocal< T, Initialize, Release >::ThreadLocal ( int  capacity)
inlineexplicit

Definition at line 121 of file ThreadLocal.h.

◆ ThreadLocal() [2/3]

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Eigen::ThreadLocal< T, Initialize, Release >::ThreadLocal ( int  capacity,
Initialize  initialize 
)
inline

Definition at line 125 of file ThreadLocal.h.

◆ ThreadLocal() [3/3]

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Eigen::ThreadLocal< T, Initialize, Release >::ThreadLocal ( int  capacity,
Initialize  initialize,
Release  release 
)
inline

Definition at line 129 of file ThreadLocal.h.

◆ ~ThreadLocal()

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Eigen::ThreadLocal< T, Initialize, Release >::~ThreadLocal ( )
inline

Definition at line 237 of file ThreadLocal.h.

Member Function Documentation

◆ ForEach()

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
void Eigen::ThreadLocal< T, Initialize, Release >::ForEach ( std::function< void(std::thread::id, T &)>  f)
inline

Definition at line 217 of file ThreadLocal.h.

◆ local()

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
T& Eigen::ThreadLocal< T, Initialize, Release >::local ( )
inline

Definition at line 143 of file ThreadLocal.h.

◆ SpilledLocal()

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
T& Eigen::ThreadLocal< T, Initialize, Release >::SpilledLocal ( std::thread::id  this_thread)
inlineprivate

Definition at line 263 of file ThreadLocal.h.

Member Data Documentation

◆ capacity_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
const int Eigen::ThreadLocal< T, Initialize, Release >::capacity_
private

Definition at line 279 of file ThreadLocal.h.

◆ data_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
MaxSizeVector<ThreadIdAndValue> Eigen::ThreadLocal< T, Initialize, Release >::data_
private

Definition at line 283 of file ThreadLocal.h.

◆ filled_records_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
std::atomic<int> Eigen::ThreadLocal< T, Initialize, Release >::filled_records_
private

Definition at line 290 of file ThreadLocal.h.

◆ initialize_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Initialize Eigen::ThreadLocal< T, Initialize, Release >::initialize_
private

Definition at line 277 of file ThreadLocal.h.

◆ mu_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
std::mutex Eigen::ThreadLocal< T, Initialize, Release >::mu_
private

Definition at line 295 of file ThreadLocal.h.

◆ per_thread_map_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
std::unordered_map<std::thread::id, T> Eigen::ThreadLocal< T, Initialize, Release >::per_thread_map_
private

Definition at line 296 of file ThreadLocal.h.

◆ ptr_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
MaxSizeVector<std::atomic<ThreadIdAndValue*> > Eigen::ThreadLocal< T, Initialize, Release >::ptr_
private

Definition at line 287 of file ThreadLocal.h.

◆ release_

template<typename T , typename Initialize = internal::ThreadLocalNoOpInitialize<T>, typename Release = internal::ThreadLocalNoOpRelease<T>>
Release Eigen::ThreadLocal< T, Initialize, Release >::release_
private

Definition at line 278 of file ThreadLocal.h.


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


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:12:53