58 minimum = f.get_minimum ();
59 maximum = f.get_maximum ();
72 if (
m_id.fields () == 0)
return *
this;
90 if (f.isEnumerated()) {
93 if (
index < f.get_indices ()) {
95 value = f.get_value_at (
index);
100 if (value <
m_max[i]) {
111 for (++i; i < fields; ++i) {
144 if (
m_id == other.m_id)
return (
true);
169 minimum = f.get_minimum ();
170 maximum = f.get_maximum ();
182 if (
m_id.fields () == 0)
return *
this;
198 if (f.isEnumerated()) {
201 if (
index < f.get_indices ()) {
203 value = f.get_value_at (
index);
208 if (value <
m_max[i]){
220 for (++i; i < fields; ++i) {
251 if (
m_id == other.m_id)
return (
true);
bool operator==(const ConstRangeIterator &other) const
const ExpandedIdentifier & operator*() const
ConstRangeIterator operator++()
ConstRangeIterator()=default
ConstRangeIterator end() const
std::vector< std::size_t > m_indices
ConstRangeIterator begin() const
This iterator is able to generate all possible identifiers, from a fully bounded Range.
std::vector< std::size_t > m_indices
RangeIterator & operator++()
RangeIterator end() const
ExpandedIdentifier & operator*()
bool operator==(const RangeIterator &other) const
RangeIterator begin() const
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
ExpandedIdentifier::element_type element_type
ExpandedIdentifier::size_type size_type