#include <IdDictRange.h>
|
| | IdDictRange (const std::string &field_name) |
| | Set name only; no range information.
|
| | IdDictRange (const std::string &field_name, const std::string &label) |
| | By label.
|
| | IdDictRange (const std::string &field_name, int value) |
| | By value.
|
| | IdDictRange (const std::string &field_name, int minvalue, int maxvalue) |
| | By minmax.
|
| | IdDictRange (const std::string &field_name, const std::vector< int > &values) |
| | By list of values.
|
| | IdDictRange (const std::string &field_name, const std::vector< std::string > &labels) |
| | By list of labels.
|
| virtual | ~IdDictRange ()=default |
| const std::string & | field_name () const |
| const std::string & | label () const |
| const IdDictField * | field () const |
| specification_type | specification () const |
| const std::vector< int > & | values () const |
| const std::vector< std::string > & | labels () const |
| void | set_range (const std::string &label) |
| | By label.
|
| void | set_range (int value) |
| | By value.
|
| void | set_range (int minvalue, int maxvalue) |
| | By minmax.
|
| void | set_range (const std::vector< int > &values) |
| | By list of values.
|
| void | set_range (const std::vector< std::string > &labels) |
| | By list of labels.
|
| void | set_prev (int prev) |
| | Set previous value and adjust continuation mode.
|
| void | set_next (int next) |
| | Set next value and adjust continuation mode.
|
| void | set_wrap_around () |
| | Enable wraparound.
|
| virtual void | resolve_references (IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion) override |
| virtual void | generate_implementation (const IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion, const std::string &tag="") override |
| virtual Range | build_range () const override |
| virtual void | reset_implementation () |
| virtual bool | verify () const |
| virtual void | clear () |
Definition at line 18 of file IdDictRange.h.
◆ continuation_mode
| Enumerator |
|---|
| none | |
| has_next | |
| has_previous | |
| has_both | |
| wrap_around | |
Definition at line 28 of file IdDictRange.h.
◆ specification_type
| Enumerator |
|---|
| unknown | |
| by_value | |
| by_values | |
| by_label | |
| by_labels | |
| by_minmax | |
Definition at line 20 of file IdDictRange.h.
◆ IdDictRange() [1/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name | ) |
|
Set name only; no range information.
Definition at line 16 of file IdDictRange.cxx.
18{
19}
const std::string & field_name() const
◆ IdDictRange() [2/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name, |
|
|
const std::string & | label ) |
By label.
Definition at line 23 of file IdDictRange.cxx.
26{
28}
const std::string & label() const
void set_range(const std::string &label)
By label.
◆ IdDictRange() [3/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name, |
|
|
int | value ) |
◆ IdDictRange() [4/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name, |
|
|
int | minvalue, |
|
|
int | maxvalue ) |
◆ IdDictRange() [5/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name, |
|
|
const std::vector< int > & | values ) |
By list of values.
Definition at line 50 of file IdDictRange.cxx.
53{
55}
const std::vector< int > & values() const
◆ IdDictRange() [6/6]
| IdDictRange::IdDictRange |
( |
const std::string & | field_name, |
|
|
const std::vector< std::string > & | labels ) |
By list of labels.
Definition at line 59 of file IdDictRange.cxx.
62{
64}
const std::vector< std::string > & labels() const
◆ ~IdDictRange()
| virtual IdDictRange::~IdDictRange |
( |
| ) |
|
|
virtualdefault |
◆ build_range()
| Range IdDictRange::build_range |
( |
| ) |
const |
|
overridevirtual |
Implements IdDictRegionEntry.
Definition at line 237 of file IdDictRange.cxx.
237 {
239
245 break;
246 }
247
251 break;
252 }
253
256 break;
257 }
258
260 break;
261 }
262 }
272 }
274 return(result);
275}
std::vector< int > m_values
const IdDictField * field() const
specification_type m_specification
continuation_mode m_continuation_mode
◆ clear()
| void IdDictRegionEntry::clear |
( |
| ) |
|
|
virtualinherited |
◆ field()
◆ field_name()
| const std::string & IdDictRange::field_name |
( |
| ) |
const |
|
inline |
◆ generate_implementation()
Reimplemented from IdDictRegionEntry.
Definition at line 177 of file IdDictRange.cxx.
178 {
179
180
181
182
183
184
185
187 std::cout << "IdDictRange::generate_implementation>" << std::endl;
188 }
189
196 <<
" index " <<
m_field->index()
198 <<
" region #" << region.
index()
200 <<
" tag " << region.
tag()
202 << std::endl;
203 }
204
207 std::cout << "IdDictRange::generate_implementation: index >= impl size - "
209 << std::endl;
210 return;
211 }
212
218 break;
219 }
220
224 }
225 break;
226
229 break;
230
232 break;
233 }
234}
void set_range(const IdDictRange *range)
Modifiers.
void set_field(const Range::field &field)
virtual std::string group_name() const override
IdDictFieldImplementation & new_implementation()
Add a new implementation object and return a reference to it.
const std::string & tag() const
size_t n_implementation() const
◆ label()
| const std::string & IdDictRange::label |
( |
| ) |
const |
|
inline |
◆ labels()
| const std::vector< std::string > & IdDictRange::labels |
( |
| ) |
const |
|
inline |
Definition at line 177 of file IdDictRange.h.
178{
180}
std::vector< std::string > m_labels
◆ reset_implementation()
| void IdDictRegionEntry::reset_implementation |
( |
| ) |
|
|
virtualinherited |
◆ resolve_references()
The range values were unspecified in the range element.
Therefore, the set of values must be obtained from the field definition (if it exists!!).
If the field is undefined, then too bad, this range will be dummy.
Reimplemented from IdDictRegionEntry.
Definition at line 132 of file IdDictRange.cxx.
133 {
138 }
139
156 for (
size_t i = 0;
i <
labels; ++
i) {
158 }
159 }
160 }
161
166 for (
size_t i = 0;
i <
m_labels.size(); ++
i) {
170 }
171 }
173 }
174}
bool m_resolved_references
◆ set_next()
| void IdDictRange::set_next |
( |
int | next | ) |
|
◆ set_prev()
| void IdDictRange::set_prev |
( |
int | prev | ) |
|
◆ set_range() [1/5]
| void IdDictRange::set_range |
( |
const std::string & | label | ) |
|
◆ set_range() [2/5]
| void IdDictRange::set_range |
( |
const std::vector< int > & | values | ) |
|
◆ set_range() [3/5]
| void IdDictRange::set_range |
( |
const std::vector< std::string > & | labels | ) |
|
◆ set_range() [4/5]
| void IdDictRange::set_range |
( |
int | minvalue, |
|
|
int | maxvalue ) |
◆ set_range() [5/5]
| void IdDictRange::set_range |
( |
int | value | ) |
|
◆ set_wrap_around()
| void IdDictRange::set_wrap_around |
( |
| ) |
|
◆ specification()
◆ values()
| const std::vector< int > & IdDictRange::values |
( |
| ) |
const |
|
inline |
◆ verify()
| bool IdDictRegionEntry::verify |
( |
| ) |
const |
|
virtualinherited |
◆ m_continuation_mode
◆ m_field
◆ m_field_name
| std::string IdDictRange::m_field_name |
|
private |
◆ m_label
| std::string IdDictRange::m_label |
|
private |
◆ m_labels
| std::vector<std::string> IdDictRange::m_labels |
|
private |
◆ m_maxvalue
| int IdDictRange::m_maxvalue {} |
|
private |
◆ m_minvalue
| int IdDictRange::m_minvalue {} |
|
private |
◆ m_next_value
| int IdDictRange::m_next_value {} |
|
private |
◆ m_prev_value
| int IdDictRange::m_prev_value {} |
|
private |
◆ m_resolved_references
| bool IdDictRange::m_resolved_references {} |
|
private |
◆ m_specification
◆ m_tag
| std::string IdDictRange::m_tag |
|
private |
◆ m_value
| int IdDictRange::m_value {} |
|
private |
◆ m_values
| std::vector<int> IdDictRange::m_values |
|
private |
The documentation for this class was generated from the following files: