OpenShot Library | libopenshot-audio 0.2.0
juce::Identifier Class Referencefinal

Represents a string identifier, designed for accessing properties by name. More...

#include <juce_Identifier.h>

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.
 
Identifieroperator= (const Identifier &other) noexcept
 Creates a copy of another identifier.
 
 Identifier (Identifier &&other) noexcept
 Creates a copy of another identifier.
 
Identifieroperator= (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 StringtoString () 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.
 

Detailed Description

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.

See also
NamedValueSet, ValueTree

Definition at line 42 of file juce_Identifier.h.

Constructor & Destructor Documentation

◆ Identifier() [1/6]

juce::Identifier::Identifier ( )
noexcept

Creates a null identifier.

Definition at line 26 of file juce_Identifier.cpp.

◆ Identifier() [2/6]

juce::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.

Definition at line 52 of file juce_Identifier.cpp.

◆ Identifier() [3/6]

juce::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.

Definition at line 45 of file juce_Identifier.cpp.

◆ Identifier() [4/6]

juce::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.

Definition at line 59 of file juce_Identifier.cpp.

◆ Identifier() [5/6]

juce::Identifier::Identifier ( const Identifier other)
noexcept

Creates a copy of another identifier.

Definition at line 29 of file juce_Identifier.cpp.

◆ Identifier() [6/6]

juce::Identifier::Identifier ( Identifier &&  other)
noexcept

Creates a copy of another identifier.

Definition at line 31 of file juce_Identifier.cpp.

◆ ~Identifier()

juce::Identifier::~Identifier ( )
noexcept

Destructor.

Definition at line 27 of file juce_Identifier.cpp.

Member Function Documentation

◆ operator=() [1/2]

Identifier & juce::Identifier::operator= ( const Identifier other)
noexcept

Creates a copy of another identifier.

Definition at line 39 of file juce_Identifier.cpp.

◆ operator=() [2/2]

Identifier & juce::Identifier::operator= ( Identifier &&  other)
noexcept

Creates a copy of another identifier.

Definition at line 33 of file juce_Identifier.cpp.

◆ operator==() [1/2]

bool juce::Identifier::operator== ( const Identifier other) const
inlinenoexcept

Compares two identifiers.

This is a very fast operation.

Definition at line 82 of file juce_Identifier.h.

◆ operator!=() [1/2]

bool juce::Identifier::operator!= ( const Identifier other) const
inlinenoexcept

Compares two identifiers.

This is a very fast operation.

Definition at line 85 of file juce_Identifier.h.

◆ operator==() [2/2]

bool juce::Identifier::operator== ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 88 of file juce_Identifier.h.

◆ operator!=() [2/2]

bool juce::Identifier::operator!= ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 91 of file juce_Identifier.h.

◆ operator<()

bool juce::Identifier::operator< ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 94 of file juce_Identifier.h.

◆ operator<=()

bool juce::Identifier::operator<= ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 97 of file juce_Identifier.h.

◆ operator>()

bool juce::Identifier::operator> ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 100 of file juce_Identifier.h.

◆ operator>=()

bool juce::Identifier::operator>= ( StringRef  other) const
inlinenoexcept

Compares the identifier with a string.

Definition at line 103 of file juce_Identifier.h.

◆ toString()

const String & juce::Identifier::toString ( ) const
inlinenoexcept

Returns this identifier as a string.

Definition at line 106 of file juce_Identifier.h.

Referenced by juce::ValueTree::setPropertyExcludingListener(), and juce::ValueTree::ValueTree().

◆ operator String::CharPointerType()

juce::Identifier::operator String::CharPointerType ( ) const
inlinenoexcept

Returns this identifier's raw string pointer.

Definition at line 109 of file juce_Identifier.h.

◆ getCharPointer()

String::CharPointerType juce::Identifier::getCharPointer ( ) const
inlinenoexcept

Returns this identifier's raw string pointer.

Definition at line 112 of file juce_Identifier.h.

◆ operator StringRef()

juce::Identifier::operator StringRef ( ) const
inlinenoexcept

Returns this identifier as a StringRef.

Definition at line 115 of file juce_Identifier.h.

◆ isValid()

bool juce::Identifier::isValid ( ) const
inlinenoexcept

Returns true if this Identifier is not null.

Definition at line 118 of file juce_Identifier.h.

◆ isNull()

bool juce::Identifier::isNull ( ) const
inlinenoexcept

◆ isValidIdentifier()

bool juce::Identifier::isValidIdentifier ( const String possibleIdentifier)
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.

Definition at line 68 of file juce_Identifier.cpp.

Member Data Documentation

◆ null

Identifier juce::Identifier::null
static

A null identifier.

Definition at line 124 of file juce_Identifier.h.


The documentation for this class was generated from the following files: