OpendTect  6.6
multiid.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: 15-1-2000
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "basicmod.h"
14 #include "compoundkey.h"
15 #include "string2.h"
16 #include "fixedstring.h"
17 
18 
23 mExpClass(Basic) MultiID : public CompoundKey
24 {
25 public:
26  MultiID(const FixedString& s)
27  : CompoundKey(s) {}
28  MultiID( const char* s=0 )
29  : CompoundKey(s) {}
30  MultiID( const MultiID& mid )
31  : CompoundKey(mid) {}
32  MultiID( int i )
33  { add(i); }
34  MultiID( int i1, int i2 )
35  { add(i1); add(i2); }
36  MultiID( int i1, int i2, int i3 )
37  { add(i1); add(i2); add(i3); }
38 
39  inline MultiID& operator =( const MultiID& mi )
40  { impl_ = mi.impl_; return *this; }
41  inline MultiID& operator =( const CompoundKey& ck )
42  { impl_ = ck.buf(); return *this; }
43  inline MultiID& operator =( const FixedString& fs )
44  { impl_ = fs.str(); return *this; }
45  inline MultiID& operator =( const char* s )
46  { impl_ = s; return *this; }
47 
48  inline bool operator ==( const MultiID& m ) const
49  { return impl_ == m.impl_; }
50  inline bool operator ==( const char* s ) const
51  { return impl_ == s; }
52  inline bool operator !=( const MultiID& m ) const
53  { return impl_ != m.impl_; }
54  inline bool operator !=( const char* s ) const
55  { return impl_ != s; }
56 
57  inline int ID( int idx ) const
58  { return key(idx).toInt(); }
59  inline void setID( int idx, int i )
60  { setKey( idx, toString(i) ); }
61  int leafID() const;
62  MultiID parent() const;
63 
64  inline MultiID& add( int i )
65  { *this += toString(i); return *this; }
66 
67  static const MultiID& udf();
68  inline void setUdf() { *this = udf(); }
69  inline bool isUdf() const { return *this == udf(); }
70 };
71 
MultiID::ID
int ID(int idx) const
Definition: multiid.h:57
MultiID::add
MultiID & add(int i)
Definition: multiid.h:64
string2.h
MultiID::setID
void setID(int idx, int i)
Definition: multiid.h:59
fixedstring.h
MultiID::MultiID
MultiID(const FixedString &s)
Definition: multiid.h:26
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
MultiID::MultiID
MultiID(int i1, int i2, int i3)
Definition: multiid.h:36
operator==
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
MultiID::MultiID
MultiID(int i)
Definition: multiid.h:32
MultiID::udf
static const MultiID & udf()
OD::String::str
const char * str() const
Definition: odstring.h:47
MultiID::parent
MultiID parent() const
operator!=
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:90
MultiID::MultiID
MultiID(const char *s=0)
Definition: multiid.h:28
MultiID::MultiID
MultiID(int i1, int i2)
Definition: multiid.h:34
FixedString
OD::String that holds an existing text string.
Definition: fixedstring.h:29
MultiID::setUdf
void setUdf()
Definition: multiid.h:68
compoundkey.h
MultiID::isUdf
bool isUdf() const
Definition: multiid.h:69
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
CompoundKey::impl_
BufferString impl_
Definition: compoundkey.h:55
MultiID::leafID
int leafID() const
CompoundKey::buf
const char * buf() const
Definition: compoundkey.h:43
CompoundKey
Concatenated short keys separated by dots. Used for Object identifiers in the Object Manager,...
Definition: compoundkey.h:23
toString
BufferString toString(const BufferStringSet &bss)
Definition: bufstringset.h:156
MultiID::MultiID
MultiID(const MultiID &mid)
Definition: multiid.h:30

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021