18 #ifndef LUNCHBOX_PERTHREAD_H 19 #define LUNCHBOX_PERTHREAD_H 21 #include <lunchbox/compiler.h> 22 #include <lunchbox/debug.h> 23 #include <lunchbox/tls.h> 56 template <
class T,
void (*D)(T*) = &perThreadDelete<T> >
77 const T* operator->()
const;
101 bool operator==(
const T* rhs)
const {
return (
get() == rhs); }
106 bool operator!=(
const T* rhs)
const {
return (
get() != rhs); }
111 bool operator!()
const;
117 bool isValid()
const;
127 #include "perThread.ipp" 129 #endif // LUNCHBOX_PERTHREAD_H std::string className(const T &object)
Print the RTTI name of the given class.
const T & operator*() const
void perThreadNoDelete(T *)
Empty PerThread destructor.
bool operator!=(const T *rhs) const
Implements thread-specific storage for C++ objects.
bool operator==(const PerThread &rhs) const
bool operator==(const T *rhs) const
Abstraction layer and common utilities for multi-threaded programming.
Provides thread-local storage API used by PerThread and PerThreadRef.
void perThreadDelete(T *object)
Default PerThread destructor deleting the object.