DotNetDupe 4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Loading...
Searching...
No Matches
Char.h
Go to the documentation of this file.
1
3
4#pragma once
5#include "Common.h"
6#include "System/Object.h"
7#include "System/String.h"
8
9namespace DotNetDupe {
10 namespace System {
11
20 class Char : public Object {
21 private:
22 char32_t m_c;
23
24 public:
27
30 DOTNETDUPE_API Char(char32_t c);
31
32 DOTNETDUPE_API void operator=(char32_t c);
33 DOTNETDUPE_API bool Equals(char32_t c) const;
34 DOTNETDUPE_API bool operator==(char32_t c) const;
35
41 DOTNETDUPE_API static double GetNumericValue(char32_t c);
42
46 DOTNETDUPE_API static bool IsAscii(char32_t c);
47
48 DOTNETDUPE_API static bool IsAsciiDigit(char32_t c);
49 DOTNETDUPE_API static bool IsAsciiHexDigit(char32_t c);
50 DOTNETDUPE_API static bool IsAsciiHexDigitLower(char32_t c);
51 DOTNETDUPE_API static bool IsAsciiHexDigitUpper(char32_t c);
52 DOTNETDUPE_API static bool IsAsciiLetter(char32_t c);
53 DOTNETDUPE_API static bool IsAsciiLetterLower(char32_t c);
54 DOTNETDUPE_API static bool IsAsciiLetterOrDigit(char32_t c);
55 DOTNETDUPE_API static bool IsAsciiLetterUpper(char32_t c);
56 DOTNETDUPE_API static bool IsBetween(char32_t c, char32_t minInclusive, char32_t maxInclusive);
57
58 DOTNETDUPE_API static bool IsControl(char32_t c);
59 DOTNETDUPE_API static bool IsDigit(char32_t c);
60 DOTNETDUPE_API static bool IsLetter(char32_t c);
61 DOTNETDUPE_API static bool IsLetterOrDigit(char32_t c);
62 DOTNETDUPE_API static bool IsLower(char32_t c);
63 DOTNETDUPE_API static bool IsNumber(char32_t c);
64 DOTNETDUPE_API static bool IsPunctuation(char32_t c);
65 DOTNETDUPE_API static bool IsSeparator(char32_t c);
66 DOTNETDUPE_API static bool IsSurrogate(char32_t c);
67 DOTNETDUPE_API static bool IsSymbol(char32_t c);
68 DOTNETDUPE_API static bool IsUpper(char32_t c);
69 DOTNETDUPE_API static bool IsWhiteSpace(char32_t c);
70
71 DOTNETDUPE_API static char32_t ToLower(char32_t c);
72 DOTNETDUPE_API static char32_t ToUpper(char32_t c);
73
74 DOTNETDUPE_API char32_t GetChar() const { return m_c; }
75
76 // ToString returns a single-character string (UTF-8 encoded)
78 DOTNETDUPE_API static String ToString(char32_t c);
79 };
80 }
81}
Defines common cross-platform macros, export decorators, and fundamental types.
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition Common.h:20
Base object class for DotNetDupe mirroring .NET System.Object.
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
static bool IsSurrogate(char32_t c)
static bool IsLetterOrDigit(char32_t c)
Definition Char.cpp:114
static bool IsDigit(char32_t c)
Definition Char.cpp:89
static bool IsAsciiLetterUpper(char32_t c)
Definition Char.cpp:71
static bool IsLetter(char32_t c)
Definition Char.cpp:101
static bool IsAscii(char32_t c)
Indicates whether the specified character is categorized as an ASCII character (0x00 - 0x7F).
Definition Char.cpp:33
String ToString() const
static bool IsControl(char32_t c)
Definition Char.cpp:79
static bool IsLower(char32_t c)
Definition Char.cpp:95
static String ToString(char32_t c)
static double GetNumericValue(char32_t c)
Converts the specified numeric Unicode character to a double-precision floating point number.
Definition Char.cpp:26
static bool IsWhiteSpace(char32_t c)
Char()
Initializes a new instance of the Char class with null character.
Definition Char.cpp:8
char32_t GetChar() const
Definition Char.h:74
bool operator==(char32_t c) const
Definition Char.cpp:22
static bool IsAsciiHexDigitLower(char32_t c)
Definition Char.cpp:47
static bool IsUpper(char32_t c)
void operator=(char32_t c)
Definition Char.cpp:14
static bool IsAsciiHexDigit(char32_t c)
Definition Char.cpp:41
static bool IsSymbol(char32_t c)
static bool IsAsciiLetter(char32_t c)
Definition Char.cpp:57
static char32_t ToUpper(char32_t c)
static bool IsBetween(char32_t c, char32_t minInclusive, char32_t maxInclusive)
Definition Char.cpp:75
static bool IsAsciiDigit(char32_t c)
Definition Char.cpp:37
static bool IsAsciiLetterOrDigit(char32_t c)
Definition Char.cpp:65
bool Equals(char32_t c) const
Definition Char.cpp:18
static bool IsNumber(char32_t c)
Definition Char.cpp:135
static bool IsPunctuation(char32_t c)
static bool IsAsciiLetterLower(char32_t c)
Definition Char.cpp:61
static bool IsSeparator(char32_t c)
static bool IsAsciiHexDigitUpper(char32_t c)
Definition Char.cpp:52
static char32_t ToLower(char32_t c)
Definition Char.cpp:120
Supports all classes in the DotNetDupe class hierarchy.
Definition Object.h:18
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition String.h:74