This is the reference documentation of sub-namespace characters
of the ALib C++ Library, which holds types of library module ALib Characters.
Extensive documentation for this module is provided with ALib Module Characters - Programmer's Manual.
Nested namespaces | |
compatibility | |
Classes | |
struct | CharArray |
struct | T_CharArray |
struct | T_ZTCharArray |
struct | TT_CharArrayType |
struct | TT_CharOfSize |
struct | TT_ComplementChar |
struct | TT_IsChar |
struct | TT_ZTCharArrayType |
Typedefs | |
using | character = PLATFORM_SPECIFIC |
using | complementChar = PLATFORM_SPECIFIC |
using | nchar = char |
using | strangeChar = PLATFORM_SPECIFIC |
using | wchar = PLATFORM_SPECIFIC |
using | xchar = PLATFORM_SPECIFIC |
Enumerations | |
enum | AccessType { NONE, Implicit, ExplicitOnly, MutableOnly } |
enum | ConstructionType { NONE, Implicit, ExplicitOnly } |
using character = PLATFORM_SPECIFIC |
This type represents a standard ALib character. The width (size) of a character is dependent on the platform and compilation flags.
This is why this type is called a "logical" type. The two other logical character types are complementChar and strangeChar.
Definition at line 176 of file characters.hpp.
using complementChar = PLATFORM_SPECIFIC |
This type represents a non-standard ALib character. If aworx::character is defined to implement a narrow character type, then this type implements a wide character and vice versa. Note, that the width of a wide character is not defined as well. It might be 2
or 4
bytes wide.
This type is called a "logical" type. The two other logical character types are character and strangeChar.
Definition at line 192 of file characters.hpp.
using nchar = char |
This type represents a narrow character in ALib. This is an alias for built-in C++ type char
.
Definition at line 72 of file characters.hpp.
using strangeChar = PLATFORM_SPECIFIC |
Besides types aworx::character and aworx::complementChar, this is the third logical character type defined by ALib.
Independent from compiler defaults and optional compiler symbols provided, this type always is equivalent to type xchar
Definition at line 204 of file characters.hpp.
using wchar = PLATFORM_SPECIFIC |
This type represents a wide character in ALib. Usually this is an alias for built-in C++ type wchar_t
. As the width of the latter is compiler-specific (the width may vary with different compilers even on the same platform), compiler symobls ALIB_CHARACTERS_SIZEOF_WCHAR may be used to manipulate its width.
Definition at line 96 of file characters.hpp.
using xchar = PLATFORM_SPECIFIC |
This type represents a second wide character type which has a width complementary to that of type wchar: If wchar is 2 bytes wide, then this type aliases char32_t
and if its width is 4 bytes, this type aliases char16_t
.
While together with types aworx::nchar and aworx::wchar it forms the group of "explicit character types", it is always identical to logical type aworx::strangeChar.
Definition at line 111 of file characters.hpp.
|
strong |
Enumeration of possible values for field Access used with traits types T_CharArray and T_ZTCharArray. The elements of this enumeration indicate if and how the data of an (non-zero terminated, respectively zero terminated) array-like type may be accessed.
Enumerator | |
---|---|
NONE | Data may not be received. This value usually indicates that a custom type does not implement a character array at all. Hence, this is the default value of the non-specialized versions of T_CharArray and T_ZTCharArray. |
Implicit | Allows implicit (and explicit) access of the character array data from mutable or constant objects. |
ExplicitOnly | Allows explicit access of the character array data from mutable or constant objects. |
MutableOnly | Allows explicit access of the character array data from mutable objects. |
Definition at line 233 of file characters.hpp.
|
strong |
Enumeration of possible values for field Construction used with traits types T_CharArray and T_ZTCharArray. The elements of this enumeration indicate if and how values an array-like type may be constructed from a (non-zero terminated, respectively zero terminated) character array.
Enumerator | |
---|---|
NONE | The custom type may not be constructed from character arrays. This is the default value of the non-specialized versions of T_CharArray and T_ZTCharArray but may very well be used with specializations as well. |
Implicit | Allows implicit (and explicit) construction of objects from character array data. |
ExplicitOnly | Allows explicit construction of objects from character array data. |
Definition at line 260 of file characters.hpp.