OpendTect  6.3
bufstringset.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: Bert
8  Date: Oct 2003
9  Contents: Set of BufferStrings
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "basicmod.h"
15 #include "bufstring.h"
16 #include "manobjectset.h"
17 class GlobExpr;
18 class uiString;
19 class uiStringSet;
20 mFDQtclass( QString );
21 mFDQtclass( QStringList );
22 
26 {
27 public:
28 
31 
32  BufferStringSet(size_type n=0,const char* s=0);
33  BufferStringSet(const char* arr[],size_type len=-1);
34  virtual ~BufferStringSet() {}
35  bool operator ==(const BufferStringSet&) const;
36 
37  inline size_type size() const { return strs_.size(); }
38  inline bool isEmpty() const { return strs_.isEmpty(); }
39  inline bool validIdx( size_type i ) const
40  { return strs_.validIdx(i); }
41  size_type indexOf(const char*) const;
42  size_type indexOf(const GlobExpr&) const;
43  size_type indexOf( const BufferString* b ) const
44  { return strs_.indexOf(b); }
45  inline bool isPresent( const BufferString* b ) const
46  { return strs_.isPresent(b);}
47  inline bool isPresent( const char* s ) const
48  { return indexOf(s) >= 0; }
49  BufferString& get( size_type idx ) { return *strs_.get(idx); }
50  const BufferString& get( size_type idx ) const { return *strs_.get(idx); }
51  BufferString* first() { return strs_.first(); }
52  const BufferString* first() const { return strs_.first(); }
53  BufferString* last() { return strs_.last(); }
54  const BufferString* last() const { return strs_.last(); }
55 
56  inline void setEmpty() { strs_.setEmpty(); }
57  inline void erase() { setEmpty(); }
58  void removeSingle( size_type i ) { strs_.removeSingle(i); }
59  void removeRange( size_type i1, size_type i2 )
60  { strs_.removeRange(i1,i2); }
61 
62  BufferStringSet& add(const char*);
63  BufferStringSet& add(const OD::String&);
64  BufferStringSet& add(const mQtclass(QString)&);
65  BufferStringSet& add(const BufferStringSet&,bool allowduplicates);
66  BufferStringSet& add(const char* arr[],size_type len=-1);
67  BufferStringSet& add( BufferString* bs ) { strs_.add(bs); return *this; }
68  BufferStringSet& addToAll(const char*,bool infront=false);
69  bool addIfNew(const char*);
70  bool addIfNew(const OD::String&);
71  void append( const BufferStringSet& oth )
72  { strs_.append( oth.strs_ ); }
73 
74  size_type nearestMatch(const char*,bool caseinsens=true) const;
75  bool isSubsetOf(const BufferStringSet&) const;
76  size_type maxLength() const;
77  size_type firstDuplicateOf(size_type,
79  size_type startat=0) const;
80  bool hasUniqueNames(CaseSensitivity s=CaseSensitive) const;
81 
82  void sort(bool caseinsens=true,bool asc=true);
83  size_type* getSortIndexes(bool caseinsns=true,bool asc=true) const;
86  void useIndexes(const size_type*);
87 
88  virtual void fillPar(IOPar&) const;
89  virtual void usePar(const IOPar&);
90 
91  void fill(uiStringSet&) const;
92  void use(const uiStringSet&);
93  void fill(mQtclass(QStringList)&) const;
94  void use(const mQtclass(QStringList)&);
95 
96  BufferString cat(const char* sepstr="\n") const;
97  void unCat(const char*,const char* sepstr="\n");
98 
99  BufferString getDispString(size_type maxnritems=-1,
100  bool quoted=true) const;
101 
102  // uncommon stuff
103  BufferString* operator[]( size_type idx ) { return strs_[idx]; }
104  const BufferString* operator[]( size_type idx ) const { return strs_[idx]; }
105  const SetType& getStringSet() const { return strs_; }
106  SetType& getStringSet() { return strs_; }
107  void allowNull( bool yn=true ) { strs_.allowNull( yn ); }
108  BufferStringSet& operator +=( BufferString* bs ) { return add(bs); }
109  BufferStringSet& set( size_type idx, BufferString* bs )
110  { strs_.replace(idx,bs); return *this; }
111  void insertAt( BufferString* bs, size_type idx )
112  { strs_.insertAt(bs,idx); }
113  //generate non translated uiStrings's set
114  uiStringSet getUiStringSet() const;
115 
116 protected:
117 
119 
120 };
#define mExpClass(module)
Definition: commondefs.h:157
T * last()
Definition: objectset.h:487
BufferString * first()
Definition: bufstringset.h:51
virtual void removeRange(size_type from, size_type to)
Definition: objectset.h:481
#define mQtclass(cls)
Definition: commondefs.h:232
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
bool isPresent(const BufferString *b) const
Definition: bufstringset.h:45
BufferStringSet & add(BufferString *bs)
Definition: bufstringset.h:67
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
uiStringSet & operator+=(const uiString &s)
Definition: uistring.h:268
size_type indexOf(const BufferString *b) const
Definition: bufstringset.h:43
CaseSensitivity
Definition: commontypes.h:34
void setEmpty()
void useIndexes(const IdxType *idxs)
virtual T * replace(size_type idx, T *)
Definition: objectset.h:394
int size_type
Definition: objectset.h:37
ManagedObjectSet< BufferString > strs_
Definition: bufstringset.h:118
virtual bool isPresent(const T *) const
Definition: objectset.h:348
SetType::size_type size_type
Definition: bufstringset.h:30
Definition: uistring.h:88
bool isEmpty() const
Definition: odset.h:43
Set of BufferString objects.
Definition: bufstringset.h:25
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:173
SetType & getStringSet()
Definition: bufstringset.h:106
void removeSingle(size_type i)
Definition: bufstringset.h:58
ObjectSet< T > & add(T *t)
Definition: objectset.h:62
virtual T * removeSingle(size_type, bool keep_order=true)
Definition: objectset.h:464
size_type size() const
Definition: objectset.h:48
void append(const BufferStringSet &oth)
Definition: bufstringset.h:71
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
ObjectSet< BufferString > SetType
Definition: bufstringset.h:29
void allowNull(bool yn=true)
Definition: bufstringset.h:107
void fill(::QStringList &) const
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:29
void setEmpty()
Definition: odset.h:44
bool isPresent(const char *s) const
Definition: bufstringset.h:47
bool validIdx(size_type i) const
Definition: bufstringset.h:39
Definition: commontypes.h:34
const BufferString * last() const
Definition: bufstringset.h:54
BufferString * operator[](size_type idx)
Definition: bufstringset.h:103
#define mFDQtclass(cls)
Definition: commondefs.h:231
void setEmpty()
Definition: bufstringset.h:56
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Glob-expression matching like UNIX shells.
Definition: globexpr.h:24
uiString cat(const char *sepstr="\n") const
virtual ~BufferStringSet()
Definition: bufstringset.h:34
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
virtual void insertAt(T *newptr, size_type)
Definition: objectset.h:409
void sort(ObjectSet< T > &os)
Sort ObjectSet. Must have operator > defined for elements.
Definition: objectset.h:224
T * first()
Definition: objectset.h:483
ObjectSet< uiString > strs_
Definition: uistring.h:287
virtual bool validIdx(int64_t) const
Definition: objectset.h:306
bool isEmpty() const
Definition: bufstringset.h:38
const SetType & getStringSet() const
Definition: bufstringset.h:105
Definition: uistring.h:235
const BufferString * first() const
Definition: bufstringset.h:52
size_type size() const
Definition: bufstringset.h:37
IdxType * getSortIndexes(bool caseinsens, bool asc) const
void allowNull(bool yn=true)
Definition: objectset.h:301
const BufferString * operator[](size_type idx) const
Definition: bufstringset.h:104
void insertAt(BufferString *bs, size_type idx)
Definition: bufstringset.h:111
virtual size_type indexOf(const T *) const
Definition: objectset.h:341
uiStringSet & add(const uiString &)
void removeRange(size_type i1, size_type i2)
Definition: bufstringset.h:59
BufferString * last()
Definition: bufstringset.h:53
virtual T * get(size_type)
Definition: objectset.h:311
virtual void append(const ObjectSet< T > &)
Definition: objectset.h:439
void erase()
Definition: bufstringset.h:57

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