28 virtual const char* selectorType()
const = 0;
29 virtual bool isOK()
const {
return true; }
37 virtual bool includes(
const T&)
const = 0;
40 const T& stop)
const {
return -1; }
45 virtual bool include(
const T&,
const char* =0) {
return false; }
72 virtual char includesRange(
const T& start,
74 virtual bool include(
const T& t,
const char* )
75 { val_ = t;
return true; }
104 {
return range_.includes( t,
true ); }
105 virtual bool include(
const T& t,
const char* )
106 { range_.include( t );
return true; }
128 : vals_(0), sz_(0), valsmine_(true) {}
130 : vals_(v), sz_(s), valsmine_(false) {}
132 : vals_(x.vals_), sz_(x.sz_), valsmine_(false) {}
134 {
if ( valsmine_ )
delete []
const_cast<T*
>(vals_); }
142 for (
int idx=0; idx<sz_; idx++ )
143 {
if ( vals_[idx] == t )
return true; }
157 if ( sz_ != ass.
sz_ )
return false;
158 for (
int idx=0; idx<sz_; idx++ )
159 {
if ( !ss.
includes(vals_[idx]) )
return false;}
168 template <
class T>
inline 172 if ( start==stop==val_ )
void manageVals(bool yn=true)
Definition: selector.h:146
virtual bool canDoRange() const
Definition: selector.h:38
virtual bool isOK() const
Definition: selector.h:29
virtual const char * selectorType() const
Definition: selector.h:65
SingleSelector(const T &t)
Definition: selector.h:64
virtual ~Selector()
Definition: selector.h:27
bool isEqual(const Selector< T > &s) const
Definition: selector.h:30
Interval< T > range_
Definition: selector.h:108
virtual bool include(const T &t, const char *)
Definition: selector.h:105
const T * vals_
Definition: selector.h:148
virtual Selector< T > * clone() const
Definition: selector.h:66
ArraySelector()
Definition: selector.h:127
RangeSelector(const T &t1, const T &t2)
Definition: selector.h:97
Selector based on range specification (an Interval).
Definition: selector.h:92
virtual const char * selectorType() const =0
Interval of values.
Definition: commontypes.h:27
virtual bool isEq(const Selector< T > &ss) const
Definition: selector.h:81
int sz_
Definition: selector.h:149
Selector selecting only a single value.
Definition: selector.h:59
virtual bool isEq(const Selector< T > &rs) const
Definition: selector.h:112
virtual bool include(const T &, const char *=0)
Definition: selector.h:45
virtual bool isEq(const Selector< T > &ss) const
Definition: selector.h:153
virtual bool includes(const T &t) const
Definition: selector.h:103
virtual Selector< T > * clone() const
Definition: selector.h:137
Interface for classes that select on basis of a key.
Definition: selector.h:23
virtual const char * selectorType() const
Definition: selector.h:136
virtual bool includes(const T &t) const
Definition: selector.h:140
T val_
Definition: selector.h:77
virtual Selector< T > * clone() const
Definition: selector.h:100
virtual char includesRange(const T &start, const T &stop) const
Definition: selector.h:39
virtual bool includes(const T &t) const
Definition: selector.h:69
virtual const char * selectorType() const
Definition: selector.h:99
ArraySelector(const T *v, int s)
Definition: selector.h:129
bool includes(const X &, bool allowrev) const
Definition: ranges.h:481
virtual bool include(const T &t, const char *)
Definition: selector.h:74
~ArraySelector()
Definition: selector.h:133
virtual char includesRange(const T &start, const T &stop) const
Definition: selector.h:169
virtual bool canDoRange() const
Definition: selector.h:71
RangeSelector()
Definition: selector.h:96
#define mClass(module)
Definition: commondefs.h:161
ArraySelector(const ArraySelector &x)
Definition: selector.h:131
SingleSelector()
Definition: selector.h:63
Selector based on array.
Definition: selector.h:123
bool valsmine_
Definition: selector.h:163
virtual bool includes(const T &) const =0