#include "Stroika/Foundation/StroikaPreComp.h"
#include <compare>
#include <span>
#include <type_traits>
#include "Stroika/Foundation/Common/Compare.h"
#include "Stroika/Foundation/Common/Enumeration.h"
#include "Stroika/Foundation/Memory/StackBuffer.h"
#include "Character.inl"
Go to the source code of this file.
Namespaces | |
namespace | Stroika::Foundation |
namespace | Stroika::Foundation::Characters |
Concepts | |
concept | Stroika::Foundation::Characters::IBasicUNICODECodePoint |
check if T is char8_t, char16_t, char32_t - one of the three possible UNICODE UTF code-point classes. | |
concept | Stroika::Foundation::Characters::IUNICODECodePoint |
check if T is IBasicUNICODECodePoint or wchar_t (any basic code-point class) | |
concept | Stroika::Foundation::Characters::IStdBasicStringCompatibleCharacter |
concept IStdBasicStringCompatibleCharacter tests if the 'T' argument is a legit CHARACTER argument to std::basic_string, and basic_string_view (char,char8_t,char16_t,char32_t,wchar_t). | |
concept | Stroika::Foundation::Characters::IUNICODECanAlwaysConvertTo |
UNICODE string can be always be converted into array of this type. | |
concept | Stroika::Foundation::Characters::IUNICODECanUnambiguouslyConvertFrom |
IUNICODECanUnambiguouslyConvertFrom is any 'character representation type' where array of them unambiguously convertible to UNICODE string. | |
concept | Stroika::Foundation::Characters::IUNICODECanUnambiguouslyConvertTo |
IUNICODECanUnambiguouslyConvertTo is any 'character representation type' you can unambiguously convert a UNICODE string into. | |
Typedefs | |
using | Stroika::Foundation::Characters::ASCII = char |
Stroika's string/character classes treat 'char' as being an ASCII character. | |
TODO:
@todo ToLower ('GERMAN ES-ZETT' or 'SHARP S') returns two esses ('ss') - and we return a single character. We COULD change return value, or simply document that issue here and define ToLower() of STRING todo the right thing for queer cases like this, and use this API for the most common cases. I HOPE - though am not sure - that this is now addressed in Stroika v3 - by encoding Character as utf32_t.
Definition in file Character.h.