#include <Identifier.h>
Public Member Functions | |
void | Clear () |
const String & | GetName () const |
const String & | GetScope () const |
Identifier () | |
Identifier (const char *pString) | |
Identifier (const String &rString) | |
Identifier (const Identifier &rOther) | |
kt_bool | operator!= (const Identifier &rOther) const |
kt_bool | operator< (const Identifier &rOther) const |
Identifier & | operator= (const Identifier &rOther) |
kt_bool | operator== (const Identifier &rOther) const |
void | SetName (const String &pName) |
void | SetScope (const String &rScope) |
kt_size_t | Size () const |
const String & | ToString () const |
virtual | ~Identifier () |
Private Member Functions | |
kt_bool | IsValid (char c) |
kt_bool | IsValidFirst (char c) |
void | Parse (const String &rString) |
void | Update () |
void | Validate (const String &rString) |
Private Attributes | |
String | m_FullName |
String | m_Name |
String | m_Scope |
Friends | |
KARTO_FORCEINLINE std::ostream & | operator<< (std::ostream &rStream, const Identifier &rIdentifier) |
Identifier class for karto resources.
Example of valid identifiers: 'Test' – no scope '/Test' – no scope; will be parsed to 'Test' '/scope/Test' - 'scope' scope and 'Test' name '/scope/name/Test' - 'scope/name' scope and 'Test' name
Definition at line 40 of file Identifier.h.
karto::Identifier::Identifier | ( | ) |
Empty name
Definition at line 24 of file Identifier.cpp.
karto::Identifier::Identifier | ( | const char * | pString | ) |
Constructs an identifier from a const char*
pString | identifier const char* |
Definition at line 28 of file Identifier.cpp.
karto::Identifier::Identifier | ( | const String & | rString | ) |
Constructs an identifier from a String
rString | identifier string |
Definition at line 33 of file Identifier.cpp.
karto::Identifier::Identifier | ( | const Identifier & | rOther | ) |
Copy constructor
Definition at line 38 of file Identifier.cpp.
|
virtual |
Destructor
Definition at line 43 of file Identifier.cpp.
void karto::Identifier::Clear | ( | ) |
Clears this identifier
Definition at line 98 of file Identifier.cpp.
const String & karto::Identifier::GetName | ( | ) | const |
const String & karto::Identifier::GetScope | ( | ) | const |
|
inlineprivate |
Whether the character is a valid character (alphanumeric, /, _, or -)
c | character |
Definition at line 179 of file Identifier.h.
|
inlineprivate |
Whether the character is valid as a first character (alphanumeric or /)
c | character |
Definition at line 169 of file Identifier.h.
|
inline |
Inequality operator
Definition at line 126 of file Identifier.h.
kt_bool karto::Identifier::operator< | ( | const Identifier & | rOther | ) | const |
Less than operator (An identifier is 'less than' another identifier if it is lexicographically 'less' than the other identifier.)
Definition at line 193 of file Identifier.cpp.
Identifier & karto::Identifier::operator= | ( | const Identifier & | rOther | ) |
Assignment operator
Definition at line 176 of file Identifier.cpp.
kt_bool karto::Identifier::operator== | ( | const Identifier & | rOther | ) | const |
Equality operator
Definition at line 188 of file Identifier.cpp.
|
private |
Parse the given string into an identifier
rString | string |
Definition at line 105 of file Identifier.cpp.
void karto::Identifier::SetName | ( | const String & | pName | ) |
void karto::Identifier::SetScope | ( | const String & | rScope | ) |
Sets the scope of this identifier
rScope | new scope |
Definition at line 79 of file Identifier.cpp.
kt_size_t karto::Identifier::Size | ( | ) | const |
Gets the size of the identifier (scope and name)
Definition at line 198 of file Identifier.cpp.
const String & karto::Identifier::ToString | ( | ) | const |
Returns a string representation of this identifier
Definition at line 93 of file Identifier.cpp.
|
private |
Formats the identifier
Definition at line 163 of file Identifier.cpp.
|
private |
Validates the given string as an identifier
rString | string |
Definition at line 136 of file Identifier.cpp.
|
friend |
Writes this identifier onto the output stream
Definition at line 140 of file Identifier.h.
|
private |
Definition at line 187 of file Identifier.h.
|
private |
Definition at line 185 of file Identifier.h.
|
private |
Definition at line 186 of file Identifier.h.