DummyThreads.hh
Go to the documentation of this file.
00001 /*
00002  * DummyThreads.hh
00003  *
00004  * Copyright 2002, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
00005  * Copyright 2002, Bastiaan Bakker. All rights reserved.
00006  *
00007  * See the COPYING file for the terms of usage and distribution.
00008  */
00009 
00010 #ifndef _LOG4CPP_THREADING_DUMMYTHREADS_HH
00011 #define _LOG4CPP_THREADING_DUMMYTHREADS_HH
00012 
00013 #include <log4cpp/Portability.hh>
00014 #include <stdio.h>
00015 #include <string>
00016 
00017 LOG4CPP_NS_BEGIN
00018 namespace threading {
00019     std::string getThreadId();
00020 
00025     typedef int Mutex;
00026 
00030     typedef int ScopedLock;
00031 
00032     template<typename T> class ThreadLocalDataHolder {
00033     public:
00034         typedef T data_type;
00035 
00036         inline ThreadLocalDataHolder() {};
00037         inline ~ThreadLocalDataHolder() {
00038             if (_data)
00039                 delete _data;
00040         };
00041 
00042         inline T* get() const {
00043             return _data;
00044         };
00045 
00046         inline T* operator->() const { return get(); };
00047         inline T& operator*() const { return *get(); };
00048 
00049         inline T* release() {
00050             T* result = _data;
00051             _data = NULL;
00052 
00053             return result;
00054         };
00055 
00056         inline void reset(T* p = NULL) {
00057             if (_data)
00058                 delete _data;
00059             _data = p;
00060         };
00061 
00062     private:
00063         T* _data;
00064     };
00065 }
00066 LOG4CPP_NS_END
00067 
00068 #endif


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:02