ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Nested namespaces | Classes | Typedefs | Enumerations
aworx::lib::characters Namespace Reference

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 }
 

Typedef Documentation

◆ character

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.

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 176 of file characters.hpp.

◆ complementChar

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.

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 192 of file characters.hpp.

◆ nchar

using nchar = char

This type represents a narrow character in ALib. This is an alias for built-in C++ type char.

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 72 of file characters.hpp.

◆ strangeChar

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

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 204 of file characters.hpp.

◆ wchar

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.

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 96 of file characters.hpp.

◆ xchar

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.

See also
For details, see chapter 2. Character Types of the Programmer's Manual of module ALib Characters.

Definition at line 111 of file characters.hpp.

Enumeration Type Documentation

◆ AccessType

enum AccessType
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.

◆ ConstructionType

enum ConstructionType
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.