5#ifndef IDENTIFIER_EXPANDEDIDENTIFIER_H
6#define IDENTIFIER_EXPANDEDIDENTIFIER_H
11#include <boost/container/small_vector.hpp>
115 using size_type = boost::container::small_vector<element_type,12>::size_type ;
134 void set (
const std::string& text);
158 operator std::string ()
const;
162 void show (std::ostream & out = std::cout)
const;
164 void show (MsgStream & out)
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 show(std::ostream &out=std::cout) const
Display detail to ostream.
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.