54 if (rName.
Size() != 0)
58 std::string::size_type pos = name.find_last_of(
'/');
59 if (pos != 0 && pos != std::string::npos)
61 throw Exception(
"Name can't contain a scope!");
81 if (rScope.
Size() != 0)
107 if (rString.
Size() == 0)
115 std::string::size_type pos =
id.find_last_of(
'/');
117 if (pos == std::string::npos)
138 if (rString.
Size() == 0)
148 for (
size_t i = 1; i <
id.size(); ++i)
153 throw Exception(
"Invalid character in name. Valid characters must be within the ranges A-Z, a-z, 0-9, '/', '_' and '-'.");
159 throw Exception(
"Invalid first character in name. Valid characters must be within the ranges A-Z, a-z, and '/'.");
void Append(const String &rString)
String SubString(kt_size_t index) const
const String & GetName() const
void Validate(const String &rString)
void SetName(const String &pName)
kt_bool operator==(const Identifier &rOther) const
Identifier & operator=(const Identifier &rOther)
kt_bool operator<(const Identifier &rOther) const
kt_bool IsValidFirst(char c)
const String & ToString() const
void SetScope(const String &rScope)
void Parse(const String &rString)
const String & GetScope() const
const char * ToCString() const