Represents a string identifier, designed for accessing properties by name. More...
Public Member Functions | |
Identifier () noexcept | |
Creates a null identifier. | |
Identifier (const char *name) | |
Creates an identifier with a specified name. | |
Identifier (const String &name) | |
Creates an identifier with a specified name. | |
Identifier (String::CharPointerType nameStart, String::CharPointerType nameEnd) | |
Creates an identifier with a specified name. | |
Identifier (const Identifier &other) noexcept | |
Creates a copy of another identifier. | |
Identifier & | operator= (const Identifier &other) noexcept |
Creates a copy of another identifier. | |
Identifier (Identifier &&other) noexcept | |
Creates a copy of another identifier. | |
Identifier & | operator= (Identifier &&other) noexcept |
Creates a copy of another identifier. | |
~Identifier () noexcept | |
Destructor. | |
bool | operator== (const Identifier &other) const noexcept |
Compares two identifiers. | |
bool | operator!= (const Identifier &other) const noexcept |
Compares two identifiers. | |
bool | operator== (StringRef other) const noexcept |
Compares the identifier with a string. | |
bool | operator!= (StringRef other) const noexcept |
Compares the identifier with a string. | |
bool | operator< (StringRef other) const noexcept |
Compares the identifier with a string. | |
bool | operator<= (StringRef other) const noexcept |
Compares the identifier with a string. | |
bool | operator> (StringRef other) const noexcept |
Compares the identifier with a string. | |
bool | operator>= (StringRef other) const noexcept |
Compares the identifier with a string. | |
const String & | toString () const noexcept |
Returns this identifier as a string. | |
operator String::CharPointerType () const noexcept | |
Returns this identifier's raw string pointer. | |
String::CharPointerType | getCharPointer () const noexcept |
Returns this identifier's raw string pointer. | |
operator StringRef () const noexcept | |
Returns this identifier as a StringRef. | |
bool | isValid () const noexcept |
Returns true if this Identifier is not null. | |
bool | isNull () const noexcept |
Returns true if this Identifier is null. | |
Static Public Member Functions | |
static bool | isValidIdentifier (const String &possibleIdentifier) noexcept |
Checks a given string for characters that might not be valid in an Identifier. | |
Static Public Attributes | |
static Identifier | null |
A null identifier. | |
Represents a string identifier, designed for accessing properties by name.
Comparing two Identifier objects is very fast (an O(1) operation), but creating them can be slower than just using a String directly, so the optimal way to use them is to keep some static Identifier objects for the things you use often.
|
noexcept |
Creates a null identifier.
Referenced by Identifier(), Identifier(), Identifier(), Identifier(), Identifier(), operator!=(), operator=(), operator=(), operator==(), and ~Identifier().
Identifier::Identifier | ( | const char * | name | ) |
Creates an identifier with a specified name.
Because this name may need to be used in contexts such as script variables or XML tags, it must only contain ascii letters and digits, or the underscore character.
References Identifier().
Identifier::Identifier | ( | const String & | name | ) |
Creates an identifier with a specified name.
Because this name may need to be used in contexts such as script variables or XML tags, it must only contain ascii letters and digits, or the underscore character.
References Identifier().
Identifier::Identifier | ( | String::CharPointerType | nameStart, |
String::CharPointerType | nameEnd ) |
Creates an identifier with a specified name.
Because this name may need to be used in contexts such as script variables or XML tags, it must only contain ascii letters and digits, or the underscore character.
References Identifier(), and operator String::CharPointerType().
|
noexcept |
Creates a copy of another identifier.
References Identifier().
|
noexcept |
Creates a copy of another identifier.
References Identifier().
|
noexcept |
Destructor.
References Identifier().
|
noexcept |
Creates a copy of another identifier.
References Identifier().
|
noexcept |
Creates a copy of another identifier.
References Identifier().
|
noexcept |
|
noexcept |
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Compares the identifier with a string.
|
noexcept |
Returns this identifier as a string.
|
noexcept |
Returns this identifier's raw string pointer.
Referenced by Identifier().
|
noexcept |
Returns this identifier's raw string pointer.
|
noexcept |
Returns true if this Identifier is not null.
|
noexcept |
Returns true if this Identifier is null.
|
staticnoexcept |
Checks a given string for characters that might not be valid in an Identifier.
Since Identifiers are used as a script variables and XML attributes, they should only contain alphanumeric characters, underscores, or the '-' and ':' characters.
|
static |
A null identifier.