33 template <
class GroupNrT,
class ObjNrT>
44 : groupnr_(-1), objnr_(-1) {}
46 : groupnr_(gid.getI())
47 , objnr_(oid.getI()) {}
49 static inline IDWithGroup
get( GroupNrT grpnr, ObjNrT objnr )
50 {
return IDWithGroup(grpnr,objnr); }
53 {
return GroupID::get(groupnr_); }
55 {
return ObjID::get(objnr_); }
56 inline GroupNrT
groupNr()
const {
return groupnr_; }
57 inline ObjNrT
objNr()
const {
return objnr_; }
58 inline void setGroupID( GroupID
id ) { groupnr_ =
id.getI();}
59 inline void setObjID( ObjID
id ) { objnr_ =
id.getI(); }
61 inline void setObjNr( ObjNrT nr ) { objnr_ = nr; }
71 {
return groupnr_<0 || objnr_<0; }
72 inline bool isValid()
const {
return !isInvalid(); }
76 { setInvalidGroup(); setInvalidObj(); }
80 {
return IDWithGroup(-1,-1); }
84 static bool isValidString(
const char*);
85 virtual void fromString(
const char*);
90 static IDWithGroup getFromInt64(
od_int64);
98 : groupnr_(gnr), objnr_(onr) { }
114 template <class GroupNrT,class ObjNrT> inline
125 template <
class GroupNrT,
class ObjNrT>
inline 132 template <
class GroupNrT,
class ObjNrT>
inline 137 groupnr_ = (GroupNrT)gnr;
138 objnr_ = (ObjNrT)onr;
142 template <
class GroupNrT,
class ObjNrT>
inline 152 template <
class GroupNrT,
class ObjNrT>
inline 159 template <
class GroupNrT,
class ObjNrT>
inline 162 groupnr_ = (GroupNrT)(i64 >> 32);
163 objnr_ = (ObjNrT)(i64 & 0xFFFFFFFF);
167 template <
class GroupNrT,
class ObjNrT>
inline static IDWithGroup getInvalid()
Definition: groupedid.h:79
bool getFromString(int &, const char *, int udfval)
static IDWithGroup getFromInt64(int64_t)
Definition: groupedid.h:169
bool hasValidGroupID() const
Definition: groupedid.h:73
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
#define mGlobal(module)
Definition: commondefs.h:160
void setGroupNr(GroupNrT nr)
Definition: groupedid.h:60
IDWithGroup()
Definition: groupedid.h:43
virtual bool isInvalid() const
Definition: groupedid.h:70
#define od_int64
Definition: plftypes.h:34
bool hasValidObjID() const
Definition: groupedid.h:74
ObjNrT objnr_
Definition: groupedid.h:95
GroupID groupID() const
Definition: groupedid.h:52
virtual void fromString(const char *)
Definition: groupedid.h:133
ObjNrT objNr() const
Definition: groupedid.h:57
int64_t toInt64(const char *s, int64_t defval=0)
Definition: string2.h:73
virtual int64_t toInt64() const
Definition: groupedid.h:153
ObjNrT ObjNrType
Definition: groupedid.h:39
IDWithGroup(GroupID gid, ObjID oid)
Definition: groupedid.h:45
Definition: groupedid.h:40
void setInvalid()
Definition: groupedid.h:75
IDWithGroup(GroupNrT gnr, ObjNrT onr)
Definition: groupedid.h:97
void setGroupID(GroupID id)
Definition: groupedid.h:58
IDWithGroup< short, int > GroupedID
Definition: groupedid.h:103
#define mDefIntegerIDType(IntType, classname)
Definition: integerid.h:83
void setInvalidGroup()
Definition: groupedid.h:77
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
bool isValidGroupedIDString(const char *)
BufferString toString(const DBKey &ky)
Definition: dbkey.h:115
GroupNrT groupNr() const
Definition: groupedid.h:56
void getGroupedIDNumbers(const char *, int64_t &, int64_t &, BufferString *trailer=0)
#define od_uint64
Definition: plftypes.h:35
void setObjID(ObjID id)
Definition: groupedid.h:59
static bool isValidString(const char *)
Definition: groupedid.h:126
void setObjNr(ObjNrT nr)
Definition: groupedid.h:61
GroupNrT GroupNrType
Definition: groupedid.h:38
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
GroupNrT groupnr_
Definition: groupedid.h:94
static IDWithGroup getFromString(const char *)
Definition: groupedid.h:144
ObjID objID() const
Definition: groupedid.h:54
void setInvalidObj()
Definition: groupedid.h:78
bool isValid() const
Definition: groupedid.h:72
Definition: groupedid.h:41
virtual ~IDWithGroup()
Definition: groupedid.h:48
virtual void fromInt64(int64_t)
Definition: groupedid.h:160
#define mClass(module)
Definition: commondefs.h:161
A unique identifier for an object consisting of a group and an ID within the group.
Definition: groupedid.h:34