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: | |
namespace | compatibility |
Type Index: | |
struct | CharArray |
struct | T_CharArray |
struct | T_ZTCharArray |
struct | TT_CharArrayType |
struct | TT_CharOfSize |
struct | TT_ComplementChar |
struct | TT_IsChar |
struct | TT_ZTCharArrayType |
Type Definition Index: | |
using | character = PLATFORM_SPECIFIC |
using | complementChar = PLATFORM_SPECIFIC |
using | nchar = char |
using | strangeChar = PLATFORM_SPECIFIC |
using | wchar = PLATFORM_SPECIFIC |
using | xchar = PLATFORM_SPECIFIC |
Enumeration Index: | |
enum class | AccessType { NONE , Implicit , ExplicitOnly , MutableOnly } |
enum class | 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 146 of file characters.hpp.
using complementChar = PLATFORM_SPECIFIC |
This type represents a non-standard ALib character. If alib::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 162 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 42 of file characters.hpp.
using strangeChar = PLATFORM_SPECIFIC |
Besides types alib::character and alib::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 174 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 66 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 alib::nchar and alib::wchar it forms the group of "explicit character types", it is always identical to logical type alib::strangeChar.
Definition at line 81 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 203 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 230 of file characters.hpp.