27#ifndef IDLFE_AST_SCOPEDNAME_H_ 
   28#define IDLFE_AST_SCOPEDNAME_H_ 
   34#include <forward_list> 
   40    std::vector <Identifier>,
 
   85        reserve (names.size ());
 
   86        for (
auto n : names) {
 
 
  110            static_cast <const std::vector <Identifier>&
> (*this) == (rhs);
 
 
 
Stores the location information.
 
Abstract Syntax Tree namespace.
 
std::forward_list< ScopedName > ScopedNames
Sequence of scoped names.
 
A scoped name: sequence of identifiers.
 
ScopedName(ScopedName &&)=default
Move constructor.
 
std::string stringize() const
 
ScopedName(const Location &loc, bool root, std::initializer_list< const char * > names)
Create multi-element name.
 
bool operator==(const ScopedName &rhs) const noexcept
Test for equality.
 
ScopedName(const Location &loc, bool root, Identifier &&name) noexcept
Create single-element name.
 
ScopedName()
Create empty name.
 
bool from_root
true if it is a root-scoped name, i.e. started from "::".
 
ScopedName & operator=(const ScopedName &)=default
Assignment.
 
ScopedName(const ScopedName &)=default
Copy constructor.
 
ScopedName(const Location &loc)
Create empty name with location.
 
ScopedName(const Location &loc, bool root, const Identifier &name)
Create single-element name.