nux-0.9.46

nux::NThreadLocalStorage Class Reference

#include <NuxCore/ThreadGNU.h>

Public Types

enum  { NbTLS = 128, InvalidTLS = 0xFFFFFFFF }
typedef void(* TLS_ShutdownCallback )()

Static Public Member Functions

static void Initialize ()
static void Shutdown ()
static BOOL RegisterTLS (t_u32 index, TLS_ShutdownCallback shutdownCallback)
static void ThreadInit ()
static void ThreadShutdown ()
template<class T >
static T GetData (t_u32 index)
template<class T >
static void SetData (t_u32 index, T value)

Static Public Attributes

static BOOL m_TLSUsed [NbTLS]
static __thread void * m_TLSIndex [NbTLS]
static TLS_ShutdownCallback m_TLSCallbacks [NbTLS]

Member Typedef Documentation


Member Enumeration Documentation

anonymous enum
Enumerator:
NbTLS 
InvalidTLS 

Member Function Documentation

template<class T >
static T nux::NThreadLocalStorage::GetData ( t_u32  index) [inline, static]

References m_TLSIndex, m_TLSUsed, NbTLS, and nuxAssert.

static void nux::NThreadLocalStorage::Initialize ( ) [static]
static BOOL nux::NThreadLocalStorage::RegisterTLS ( t_u32  index,
TLS_ShutdownCallback  shutdownCallback 
) [static]
template<class T >
static void nux::NThreadLocalStorage::SetData ( t_u32  index,
value 
) [inline, static]

References m_TLSIndex, m_TLSUsed, NbTLS, and nuxAssert.

static void nux::NThreadLocalStorage::Shutdown ( ) [static]
static void nux::NThreadLocalStorage::ThreadInit ( ) [static]
static void nux::NThreadLocalStorage::ThreadShutdown ( ) [static]

Field Documentation

__thread void* nux::NThreadLocalStorage::m_TLSIndex[NbTLS] [static]

Referenced by GetData(), and SetData().

Referenced by GetData(), and SetData().


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