Crypto++
5.6.4
Free C++ class library of cryptographic schemes
trdlocal.h
1
#ifndef CRYPTOPP_TRDLOCAL_H
2
#define CRYPTOPP_TRDLOCAL_H
3
4
#include "
config.h
"
5
6
#if !defined(NO_OS_DEPENDENCE) && defined(THREADS_AVAILABLE)
7
8
#include "
misc.h
"
9
10
#ifdef HAS_WINTHREADS
11
typedef
unsigned
long
ThreadLocalIndexType;
12
#else
13
#include <pthread.h>
14
typedef
pthread_key_t ThreadLocalIndexType;
15
#endif
16
17
NAMESPACE_BEGIN(
CryptoPP
)
18
19
//! thread local storage
20
class CRYPTOPP_DLL
ThreadLocalStorage
: public
NotCopyable
21
{
22
public
:
23
//! exception thrown by ThreadLocalStorage class
24
class
Err
:
public
OS_Error
25
{
26
public
:
27
Err
(
const
std::string& operation,
int
error);
28
};
29
30
ThreadLocalStorage
();
31
~
ThreadLocalStorage
() CRYPTOPP_THROW;
32
33
void
SetValue(
void
*value);
34
void
*GetValue() const;
35
36
private:
37
ThreadLocalIndexType m_index;
38
};
39
40
NAMESPACE_END
41
42
#endif // THREADS_AVAILABLE
43
44
#endif // CRYPTOPP_TRDLOCAL_H
OS_Error
The operating system reported an error.
Definition:
cryptlib.h:218
misc.h
Utility functions for the Crypto++ library.
NotCopyable
Ensures an object is not copyable.
Definition:
misc.h:211
CryptoPP
Crypto++ library namespace.
config.h
Library configuration file.
ThreadLocalStorage::Err
exception thrown by ThreadLocalStorage class
Definition:
trdlocal.h:25
ThreadLocalStorage
thread local storage
Definition:
trdlocal.h:21
Generated on Wed Sep 16 2020 15:32:49 for Crypto++ by
1.8.20