log4shib 2.0.0

DummyThreads.hh
Go to the documentation of this file.
1/*
2 * DummyThreads.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 _LOG4SHIB_THREADING_DUMMYTHREADS_HH
11#define _LOG4SHIB_THREADING_DUMMYTHREADS_HH
12
13#include <log4shib/Portability.hh>
14#include <stdio.h>
15#include <string>
16
17 namespace log4shib {
18 namespace threading {
19 std::string getThreadId();
20
25 typedef int Mutex;
26
30 typedef int ScopedLock;
31
32 template<typename T> class ThreadLocalDataHolder {
33 public:
34 typedef T data_type;
35
36 inline ThreadLocalDataHolder() {};
37 inline ~ThreadLocalDataHolder() {
38 if (_data)
39 delete _data;
40 };
41
42 inline T* get() const {
43 return _data;
44 };
45
46 inline T* operator->() const { return get(); };
47 inline T& operator*() const { return *get(); };
48
49 inline T* release() {
50 T* result = _data;
51 _data = NULL;
52
53 return result;
54 };
55
56 inline void reset(T* p = NULL) {
57 if (_data)
58 delete _data;
59 _data = p;
60 };
61
62 private:
63 T* _data;
64 };
65 }
66}
67#endif
Portability.hh
log4shib::threading::ThreadLocalDataHolder::operator->
T * operator->() const
Definition: DummyThreads.hh:46
log4shib::threading::ThreadLocalDataHolder::operator*
T & operator*() const
Definition: DummyThreads.hh:47
log4shib::threading::ThreadLocalDataHolder::~ThreadLocalDataHolder
~ThreadLocalDataHolder()
Definition: DummyThreads.hh:37
log4shib::threading::ThreadLocalDataHolder::reset
void reset(T *p=NULL)
Definition: DummyThreads.hh:56
log4shib::threading::ThreadLocalDataHolder::get
T * get() const
Definition: DummyThreads.hh:42
log4shib::threading::ThreadLocalDataHolder::data_type
T data_type
Definition: DummyThreads.hh:34
log4shib::threading::ThreadLocalDataHolder::release
T * release()
Definition: DummyThreads.hh:49
log4shib::threading::ThreadLocalDataHolder::ThreadLocalDataHolder
ThreadLocalDataHolder()
Definition: DummyThreads.hh:36
log4shib::threading::getThreadId
static std::string getThreadId()
Return an identifier for the current thread.
Definition: BoostThreads.hh:22
log4shib::threading::Mutex
boost::mutex Mutex
Dummy type 'int' for Mutex.
Definition: BoostThreads.hh:27
log4shib::threading::ScopedLock
boost::mutex::scoped_lock ScopedLock
Dummy type 'int' defintion of ScopedLock;.
Definition: BoostThreads.hh:30
log4shib
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16