00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __XVR2_MAP_H__
00015 #define __XVR2_MAP_H__
00016 #include<xvr2/CoreExceptions.h>
00017 #include<xvr2/Mutex.h>
00018 #include<map>
00019
00020 namespace xvr2 {
00021
00022 template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
00023 typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
00024 class Map : public xvr2::Object, public
00025 std::map<_Key, _Tp, _Compare, _Alloc> {
00026 private:
00027 protected:
00028 xvr2::Mutex mm;
00029 public:
00030 Map() : std::map<_Key, _Tp, _Compare, _Alloc>() { }
00031
00032
00033 void lock(){
00034 mm.lock();
00035 }
00036 void unlock(){
00037 mm.unlock();
00038 }
00039 };
00040 }
00041
00042 #endif