This is the documentation for Enlighten.

class Geo GeoVariant UrlData

class Geo::GeoVariant::UrlData

    └>Geo::GeoString< char >

String class for representing URLs (e.g. file paths).

Functions

Name Description
~GeoString()

Destructor.

Clear()

Clear the string.

CopyTo(T *, s32)

Copies the content of this string to the given raw character buffer.

Crop(s32)

Terminates the string at the given position.

CropAfterLastChar(T)

This will remove the string beyond and including the last character specified if there is one.

CropBeforeLastChar(T)

This will remove the string up to and including the last character specified if there is one.

ForceLength(s32)

Directly sets the length of the string to the given value.

FromUtf8(const char *)

Creates a UrlData from a string.

FromUtf8(const char *)

Creates a new string of this format from a narrow string.

GeoString(GeoString &&)

Move constructor.

GeoString(s32)

Explicit constructor for an initial buffer length.

GeoString(const T *, s32)

Explicit constructor from an array of size n.

GeoString(const T *)

Explicit constructor from a null-terminated array.

GeoString()

Default constructor.

GeoString(const GeoString &)

Copy constructor.

GetCapacity()

Returns the string capacity.

GetCString()

Returns a const raw pointer to the string.

GetLength()

Returns the length of the string.

GetString()

Returns a non-const raw pointer to the string.

IsEmpty()

Returns true if the string is empty.

operator GeoStringView< T >()

Implicit conversion to string view.

operator[](s32)

Element access operator. Do not use this to assign a terminator, or the string will very likely be corrupted.

operator<(const GeoString &)

Comparison (required to use strings as keys in a map).

Printf(const T *, ...)

Creates a string from a standard C style format specifier, without the user having to know the maximum string length beforehand.

SetCapacity(s32)

Set the string capacity (increase only).

Substring(Geo::s32, Geo::s32)

Returns a subsection of the string.

Swap(GeoString &)

Swap places with other.

ToUtf8()

Returns a new narrow string from this one.

UrlData(const char *)

Creates a UrlData from a string.

Typedefs

Name Description
T CharType

The character type of this string.


Geo::GeoString< T >::~GeoString


public: ~GeoString()


Destructor.


void Geo::GeoString< T >::Clear


public: void Clear()


Clear the string.


s32 Geo::GeoString< T >::CopyTo


public: s32 CopyTo
(
    T * buffer,
    s32 maxCharsToCopy
) const


Copies the content of this string to the given raw character buffer.

Note this does not


copy the NUL terminator to the destination buffer.

Parameters
[in] buffer

The destination buffer.

[in] maxCharsToCopy

If this is less than the length of the string then only this many characters will be copied.

Returns

The number of characters copied.


bool Geo::GeoString< T >::Crop


public: bool Crop
(
    s32 position
)


Terminates the string at the given position.

If position is less than the current length of the string it returns true, otherwise this is a no-op and returns false.


bool Geo::GeoString< T >::CropAfterLastChar


public: bool CropAfterLastChar
(
    T c
)


This will remove the string beyond and including the last character specified if there is one.

If there isn't one it won't do anything.

Returns

True if the string was cropped.


bool Geo::GeoString< T >::CropBeforeLastChar


public: bool CropBeforeLastChar
(
    T c
)


This will remove the string up to and including the last character specified if there is one.

If there isn't one it won't do anything.

Returns

True if the string was cropped.


void Geo::GeoString< T >::ForceLength


public: void ForceLength
(
    s32 position
)


Directly sets the length of the string to the given value.

Useful for when the internal buffer is directly manipulated (after calling GetString()) and the stored length of the string needs to be kept in-sync.


static UrlData Geo::GeoVariant::UrlData::FromUtf8


public: UrlData FromUtf8
(
    const char * utf8
)


Creates a UrlData from a string.


static GeoString Geo::GeoString< T >::FromUtf8


public: GeoString FromUtf8
(
    const char * utf8
)


Creates a new string of this format from a narrow string.


Geo::GeoString< T >::GeoString


public: GeoString
(
    GeoString && rhs
)


Move constructor.


Geo::GeoString< T >::GeoString


public: GeoString
(
    s32 capacity
)


Explicit constructor for an initial buffer length.


Geo::GeoString< T >::GeoString


public: GeoString
(
    const T * str,
    s32 n
)


Explicit constructor from an array of size n.


Geo::GeoString< T >::GeoString


public: GeoString
(
    const T * str
)


Explicit constructor from a null-terminated array.


Geo::GeoString< T >::GeoString


public: GeoString()


Default constructor.


Geo::GeoString< T >::GeoString


public: GeoString
(
    const GeoString & rhs
)


Copy constructor.


s32 Geo::GeoString< T >::GetCapacity


public: s32 GetCapacity() const


Returns the string capacity.


const T* Geo::GeoString< T >::GetCString


public: const T * GetCString() const


Returns a const raw pointer to the string.


s32 Geo::GeoString< T >::GetLength


public: s32 GetLength() const


Returns the length of the string.


T* Geo::GeoString< T >::GetString


public: T * GetString()


Returns a non-const raw pointer to the string.


bool Geo::GeoString< T >::IsEmpty


public: bool IsEmpty() const


Returns true if the string is empty.


Geo::GeoString< T >::operator GeoStringView< T >


public: operator GeoStringView< T >() const


Implicit conversion to string view.


T Geo::GeoString< T >::operator[]


public: T operator[]
(
    s32 idx
) const


Element access operator. Do not use this to assign a terminator, or the string will very likely be corrupted.


bool Geo::GeoString< T >::operator<


public: bool operator<
(
    const GeoString & rhs
) const


Comparison (required to use strings as keys in a map).


static GeoString Geo::GeoString< T >::Printf


public: GeoString Printf
(
    const T * ,
    ...
)


Creates a string from a standard C style format specifier, without the user having to know the maximum string length beforehand.


bool Geo::GeoString< T >::SetCapacity


public: bool SetCapacity
(
    s32 minLength
)


Set the string capacity (increase only).


GeoString Geo::GeoString< T >::Substring


public: GeoString Substring
(
    Geo::s32 idxBegin,
    Geo::s32 idxEnd
) const


Returns a subsection of the string.

Parameters
[in] idxBegin

Index of first character of substring.

[in] idxEnd

Index of 'one past end' of substring. May specify -1 to mean 'end of string'.


void Geo::GeoString< T >::Swap


public: void Swap
(
    GeoString & other
)


Swap places with other.


GeoString<char> Geo::GeoString< T >::ToUtf8


public: GeoString< char > ToUtf8() const


Returns a new narrow string from this one.


Geo::GeoVariant::UrlData::UrlData


public: UrlData
(
    const char * str
)


Creates a UrlData from a string.