Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
~
Functions
a
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
~
Variables
a
c
d
e
f
g
i
l
m
n
u
v
Typedefs
a
c
d
e
g
i
m
n
o
p
s
u
v
Enumerations
_
e
g
h
i
p
Enumerator
_
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
w
x
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
x
y
Typedefs
a
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
v
Enumerations
Enumerator
a
c
d
e
f
i
n
o
r
s
t
w
x
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
y
Functions
c
d
e
g
i
l
m
o
p
r
t
Variables
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
p
s
t
u
Enumerations
a
b
c
d
e
f
g
i
p
s
t
u
Enumerator
a
b
c
d
e
f
g
i
l
m
p
r
s
t
u
y
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
BoostThreads.hh
Go to the documentation of this file.
1
/*
2
* BoostThreads.hh
3
*
4
* Copyright 2002, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5
* Copyright 2002, Bastiaan Bakker. All rights reserved.
6
*
7
* See the COPYING file for the terms of usage and distribution.
8
*/
9
10
#ifndef _LOG4CPP_THREADING_BOOSTTHREADS_HH
11
#define _LOG4CPP_THREADING_BOOSTTHREADS_HH
12
13
#include <
log4cpp/Portability.hh
>
14
#include <boost/thread/thread.hpp>
15
#include <boost/thread/mutex.hpp>
16
#include <boost/thread/tss.hpp>
17
#include <cstdio>
18
#include <string>
19
20
LOG4CPP_NS_BEGIN
21
namespace
threading
{
22
static
std::string
getThreadId
() {
23
char
buffer[14];
24
// Boost.Threads stores the thread ID but doesn't expose it
25
sprintf(buffer,
"not available"
);
26
return
std::string(buffer);
27
};
28
29
typedef
boost::mutex
Mutex
;
30
typedef
boost::mutex::scoped_lock
ScopedLock
;
31
32
template
<
typename
T>
class
ThreadLocalDataHolder
{
33
public
:
34
inline
T*
get
()
const
{
35
return
_localData
.get();
36
};
37
38
inline
T*
operator->
()
const
{
return
_localData
.get(); };
39
inline
T&
operator*
()
const
{
return
*
_localData
.get(); };
40
41
inline
T*
release
() {
42
return
_localData
.release();
43
};
44
45
inline
void
reset
(T* p = NULL) {
46
_localData
.reset(p);
47
};
48
49
private
:
50
boost::thread_specific_ptr<T>
_localData
;
51
};
52
53
}
54
LOG4CPP_NS_END
55
56
#endif
threading::ThreadLocalDataHolder::release
T * release()
Definition:
BoostThreads.hh:41
Portability.hh
threading::ScopedLock
boost::mutex::scoped_lock ScopedLock
Dummy type 'int' defintion of ScopedLock;.
Definition:
BoostThreads.hh:30
threading::ThreadLocalDataHolder::operator*
T & operator*() const
Definition:
BoostThreads.hh:39
threading::Mutex
boost::mutex Mutex
Dummy type 'int' for Mutex.
Definition:
BoostThreads.hh:27
threading::ThreadLocalDataHolder::_localData
boost::thread_specific_ptr< T > _localData
Definition:
BoostThreads.hh:47
threading::getThreadId
static std::string getThreadId()
Return an identifier for the current thread.
Definition:
BoostThreads.hh:22
threading::ThreadLocalDataHolder::get
T * get() const
Definition:
BoostThreads.hh:34
threading::ThreadLocalDataHolder::reset
void reset(T *p=NULL)
Definition:
BoostThreads.hh:45
LOG4CPP_NS_BEGIN
#define LOG4CPP_NS_BEGIN
Definition:
Portability.hh:49
LOG4CPP_NS_END
#define LOG4CPP_NS_END
Definition:
Portability.hh:50
threading
Definition:
BoostThreads.hh:21
threading::ThreadLocalDataHolder::operator->
T * operator->() const
Definition:
BoostThreads.hh:38
threading::ThreadLocalDataHolder
This class holds Thread local data of type T, i.e.
Definition:
BoostThreads.hh:32
rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11