|
| IDBase (const char *s) |
|
| IDBase (std::string s) |
|
| IDBase (std::string id, AlreadyNormalized) |
|
template<typename... T, typename enable = std::enable_if_t<(... && std::is_convertible_v<T, std::string>)>> |
| IDBase (const T &... s) |
|
| IDBase (const std::initializer_list< std::string > &x) |
|
const auto & | str () const |
|
Derived | namespace_ () const |
|
Derived | local () const |
|
bool | empty () const |
|
Derived | sub (int i) const |
|
Derived | sub (int from, int to) const |
|
Derived | firstN (int n) const |
|
Derived | lastN (int n) const |
|
Derived | relativeTo (const Derived &root) const |
|
Derived | operator+ (const std::string &other) const |
|
Derived | operator+ (const Derived &other) const |
|
Derived & | operator+= (std::string other) |
|
Derived & | operator+= (const Derived &other) |
|
bool | operator== (const Derived &other) const |
|
bool | operator!= (const Derived &other) const |
|
bool | operator== (const std::string &other) const |
|
bool | operator!= (const std::string &other) const |
|
bool | operator< (const Derived &other) const |
|
| operator bool () const |
|
| operator std::string () const |
|
template<class Derived, normalizer_func N = identity_normalizer>
class hilti::detail::IDBase< Derived, N >
Base class for representing scoped language IDs. It provides a number of standard accesasorsd and manipulators to support operations on/with namespaces. This class assumes that namespaces are seperated with ::
.
- Template Parameters
-
Derived | name of the class deriving from this one (CRTP). |
N | a function that may preprocess/normalize all ID components before storing them |
template<class Derived, normalizer_func N = identity_normalizer>
template<typename... T, typename enable = std::enable_if_t<(... && std::is_convertible_v<T, std::string>)>>
Concatenates multiple strings into a single ID, separating them with ::
.