5#ifndef IDENTIFIER_MULTIRANGE_H
6#define IDENTIFIER_MULTIRANGE_H
39 using id_vec = std::vector<ExpandedIdentifier>;
61 using id_vec = std::vector<ExpandedIdentifier>;
123 void show (std::ostream& s)
const;
125 operator std::string ()
const;
130 using id_vec = std::vector<ExpandedIdentifier>;
boost::container::small_vector< element_type, 12 >::size_type size_type
range_vector::const_iterator m_range_end
const ExpandedIdentifier & operator*() const
bool operator==(const const_identifier_factory &other) const
id_vec::iterator id_iterator
ConstRangeIterator m_id_fac_end
const_identifier_factory()=default
ConstRangeIterator m_id_fac_it
std::vector< ExpandedIdentifier > id_vec
id_vec::const_iterator id_const_iterator
range_vector::const_iterator m_range_it
This factory is able to generate all possible identifiers, from a fully bounded Range.
range_vector::const_iterator m_range_it
bool operator==(const identifier_factory &other) const
range_vector::const_iterator m_range_end
id_vec::const_iterator id_const_iterator
ConstRangeIterator m_id_fac_it
std::vector< ExpandedIdentifier > id_vec
ConstRangeIterator m_id_fac_end
identifier_factory()=default
id_vec::iterator id_iterator
const ExpandedIdentifier & operator*() const
std::vector< ExpandedIdentifier > id_vec
size_type cardinalityUpTo(const ExpandedIdentifier &id) const
bool has_overlap() const
Check if there are overlaps between any couple of Ranges.
range_vector::const_iterator const_iterator
identifier_factory factory_end()
const Range & operator[](size_type index) const
Accessors.
void remove_range(const ExpandedIdentifier &id)
Remove a Range made from a single ExpandedIdentifier.
ExpandedIdentifier::element_type element_type
size_type cardinality() const
Computes a possible cardinality from all ranges.
const_iterator begin() const
Range & back()
Get the last entered Range.
ExpandedIdentifier::size_type size_type
identifier_factory factory_begin()
const_iterator end() const
std::vector< Range > range_vector
void add(const Range &range)
int match(const ExpandedIdentifier &id) const
Match an identifier.
A Range describes the possible ranges for the field values of an ExpandedIdentifier.