40 #define _mDeclStaticString(nm) \ 41 mDefineStaticLocalObject( StaticStringManager, nm##_ssm, \ 42 = StaticStringManager() ) \ 43 BufferString& nm = nm##_ssm.getObject() 46 #define mDeclStaticString(nm) \ 47 _mDeclStaticString(nm); \ 48 addToStaticStringRepos( &nm ) 50 #define mDeclStaticString(nm) \ 51 _mDeclStaticString(nm) 67 int idx = threadids_.indexOf( threadid );
70 idx = threadids_.size();
71 threadids_ += threadid;
75 return *objects_[idx];
Locks the lock, shutting out access from other threads if needed.
Definition: threadlock.h:83
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
#define mGlobal(module)
Definition: commondefs.h:160
Threads::Lock lock_
Definition: perthreadrepos.h:34
PerThreadObjectRepository< BufferString > StaticStringManager
Definition: perthreadrepos.h:38
void * ThreadID
Definition: thread.h:33
bool isStaticString(const OD::String *)
Class that keeps one object per thread. This enables temporary passing of objects (such as strings) w...
Definition: perthreadrepos.h:26
ManagedObjectSet< T > objects_
Definition: perthreadrepos.h:32
void addToStaticStringRepos(const OD::String *)
OpendTect.
Definition: commontypes.h:25
ObjectSet< const void > threadids_
Definition: perthreadrepos.h:33
#define mClass(module)
Definition: commondefs.h:161
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:49