 |
OpendTect
6.6
|
Go to the documentation of this file.
28 : chgd_(c), chgid_(0) {}
30 : chgd_(&c), chgid_(0) {}
32 : chgid_(&c), chgd_(0) {}
34 : chgid_(c), chgd_(0) {}
36 : chgd_(&c), chgid_(&ci) {}
39 template <
class T,
class U>
40 inline bool set(
const T& oldval,
const U& newval);
42 template <
class T,
class U>
43 inline bool update(T& val,
const U& newval);
46 inline bool set(
const char*&,
const char*&);
49 {
return chgd_ ? *chgd_ : (bool)(chgid_ ? *chgid_ : 0);}
51 {
return chgid_ ? *chgid_ : (chgd_ ? (*chgd_?1:0) : 0);}
52 inline void setChanged(
bool yn=
true);
54 {
if ( chgid_ ) *chgid_ = c; }
58 const bool&
boolVar()
const {
return *chgd_; }
60 const unsigned int&
intVar()
const {
return *chgid_; }
63 void setVar(
bool* m ) { chgd_ = m; }
64 void setVar(
bool& m ) { chgd_ = &m; }
65 void setVar(
unsigned int* m ) { chgid_ = m; }
66 void setVar(
unsigned int& m ) { chgid_ = &m; }
87 #define mChgTrackGetSet(chtr,obj,getfn,setfn,newval) { \
88 if ( chtr.set( obj->getfn(), newval ) ) \
89 obj->setfn( newval ); }
97 {
if ( ischgd ) (*chgid_)++; }
101 template <
class T,
class U>
104 bool ret = !(val ==
mCast(T,newval));
112 bool ret = (val && newval) || (!val && !newval);
113 if ( !ret ) {
setChanged(
true);
return true; }
114 if ( !val )
return false;
122 template <
class T,
class U>
125 bool ret =
set( val, newval );
void setVar(unsigned int &m)
Definition: changetracker.h:66
void setVar(unsigned int *m)
Definition: changetracker.h:65
Updates a variable when changes occur.
Definition: changetracker.h:25
ChangeTracker(unsigned int &c)
Definition: changetracker.h:31
const unsigned int & intVar() const
Don't call if !hasIntVar()
Definition: changetracker.h:60
bool * chgd_
Definition: changetracker.h:70
bool set(const T &oldval, const U &newval)
returns wether this value is changed
Definition: changetracker.h:102
void setVar(bool &m)
Definition: changetracker.h:64
void setChangeId(unsigned int c)
Definition: changetracker.h:53
#define mClass(module)
Definition: commondefs.h:181
bool isChanged() const
Definition: changetracker.h:48
bool hasIntVar() const
Definition: changetracker.h:57
OD::String that holds an existing text string.
Definition: fixedstring.h:29
ChangeTracker(unsigned int *c)
Definition: changetracker.h:33
void setVar(bool *m)
Definition: changetracker.h:63
void set(T &_to, const F &fr)
template based type conversion
Definition: convert.h:27
unsigned int * chgid_
Definition: changetracker.h:71
ChangeTracker(bool &c)
Definition: changetracker.h:29
const bool & boolVar() const
Don't call if !hasBoolVar()
Definition: changetracker.h:58
#define mCast(tp, v)
Definition: commondefs.h:137
ChangeTracker(bool *c=0)
Definition: changetracker.h:27
bool hasBoolVar() const
Definition: changetracker.h:56
unsigned int changeId() const
Definition: changetracker.h:50
ChangeTracker(bool &c, unsigned int &ci)
Definition: changetracker.h:35
void setChanged(bool yn=true)
Definition: changetracker.h:92
bool update(T &val, const U &newval)
Changes and returns wether this value is changed.
Definition: changetracker.h:123
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021