 |
OpendTect
6.6
|
Go to the documentation of this file.
52 template <
class O,
class V>
61 void setParam(O* obj,
const V& val);
62 bool setParamIfValueIs(O* obj,
const V& curval,
const V& newval );
66 const V& getParam(
const O* obj)
const;
67 bool hasParam(
const O* obj)
const;
68 void removeParam(O* obj);
69 void removeAndDeleteParam(O* obj);
70 void deleteAndZeroPtrParam(O* obj);
82 template <
class O,
class V>
87 if ( objects_.size() )
89 const char* nm =
className( *objects_[0] );
90 const int sz = objects_.size();
91 std::cerr <<
"(PE) HiddenParam in " << nm <<
" (" << sz
92 <<
" counts) | Deleting a HiddenParam prematurely\n";
98 template <
class O,
class V>
102 const int idx = objects_.indexOf( obj );
114 template <
class O,
class V>
119 const int idx = objects_.indexOf( obj );
127 if ( params_[idx]==curval )
129 params_[idx] = newval;
137 template <
class O,
class V>
141 const int idx = objects_.indexOf( obj );
142 if ( !objects_.validIdx(idx) )
152 template <
class O,
class V>
156 return objects_.isPresent( obj );
160 template <
class O,
class V>
164 const int idx = objects_.indexOf( obj );
168 params_.removeSingle( idx );
169 objects_.removeSingle( idx );
173 template <
class O,
class V>
177 const int idx = objects_.indexOf( obj );
185 params_.removeSingle( idx );
186 objects_.removeSingle( idx );
190 template <
class O,
class V>
194 const int idx = objects_.indexOf( obj );
~HiddenParam()
Definition: hiddenparam.h:83
Locks the lock, shutting out access from other threads if needed.
Definition: threadlock.h:85
Workaround manager when you cannot add class members to a class due to binary compability issues.
Definition: hiddenparam.h:54
const V & getParam(const O *obj) const
Definition: hiddenparam.h:138
TypeSet< V > params_
Definition: hiddenparam.h:75
V undef_
Definition: hiddenparam.h:77
Threads::Lock lock_
Definition: hiddenparam.h:76
#define mClass(module)
Definition: commondefs.h:181
void removeParam(O *obj)
Definition: hiddenparam.h:161
#define pErrMsg(msg)
Usual access point for programmer error messages.
Definition: errmsg.h:37
ObjectSet< O > objects_
Definition: hiddenparam.h:74
void deleteAndZeroPtrParam(O *obj)
Definition: hiddenparam.h:191
void removeAndDeleteParam(O *obj)
Definition: hiddenparam.h:174
HiddenParam(const V &undefval)
Definition: hiddenparam.h:56
void setParam(O *obj, const V &val)
Definition: hiddenparam.h:99
const char * className(const T &t)
Definition: errmsg.h:23
bool setParamIfValueIs(O *obj, const V &curval, const V &newval)
Definition: hiddenparam.h:115
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
bool hasParam(const O *obj) const
Definition: hiddenparam.h:153
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021