5#ifndef IDENTIFIER_EXPANDEDIDENTIFIER_H
6#define IDENTIFIER_EXPANDEDIDENTIFIER_H
10#include <boost/container/small_vector.hpp>
112 using size_type = boost::container::small_vector<element_type,12>::size_type ;
131 void set (
const std::string& text);
155 operator std::string ()
const;
std::ostream & operator<<(std::ostream &out, const ExpandedIdentifier &x)
static constexpr element_type max_value
auto operator<=>(const ExpandedIdentifier &other) const
Comparison operators.
ExpandedIdentifier(const ExpandedIdentifier &other, size_type start)
Constructor from a subset of another ExpandedIdentifier.
element_type & operator[](size_type index)
ExpandedIdentifier id_type
ExpandedIdentifier & operator<<(element_type value)
bool isValid() const
Returns whether the expanded Identifier contains any information.
bool operator==(const ExpandedIdentifier &other) const
void set(const std::string &text)
build from a textual description
ExpandedIdentifier()=default
boost::container::small_vector< element_type, 12 >::size_type size_type
void add(element_type value)
Append a value into a new field.
bool match(const ExpandedIdentifier &other) const
Test if the shorter of two ids is identical to the equivalent sub-id extracted from the longer.
boost::container::small_vector< element_type, 12 > element_vector
void clear()
Erase all fields.
void show() const
Send to std::cout.