DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
TextEncoding.h
Go to the documentation of this file.
1
5
6
#pragma once
7
8
#include "
Common.h
"
9
#include "
System/Object.h
"
10
#include "
System/String.h
"
11
#include "
System/Array.h
"
12
#include "
System/SmartPointer.h
"
13
14
namespace
DotNetDupe
{
15
namespace
System
{
16
namespace
Text
{
17
class
Encoding
;
18
20
using
EncodingPtr
=
SmartPointer<Encoding>
;
21
26
class
Encoding
:
public
Object
{
27
public
:
29
virtual
~Encoding
() =
default
;
30
34
virtual
Array<char>
GetBytes
(
const
String
& s) = 0;
35
39
virtual
String
GetString
(
const
Array<char>
& bytes) = 0;
40
45
virtual
String
GetString
(
const
char
* bytes,
int
byteCount) = 0;
46
};
47
48
class
UTF8Encoding
;
49
51
using
UTF8EncodingPtr
=
SmartPointer<UTF8Encoding>
;
52
57
class
UTF8Encoding
:
public
Encoding
{
58
public
:
60
Array<char>
GetBytes
(
const
String
& s)
override
;
61
63
String
GetString
(
const
Array<char>
& bytes)
override
;
64
66
String
GetString
(
const
char
* bytes,
int
byteCount)
override
;
67
};
68
71
class
TextEncoding
:
public
Object
{
72
public
:
75
DOTNETDUPE_API
static
EncodingPtr
UTF8
();
76
77
private
:
78
static
UTF8EncodingPtr
s_utf8EncodingInstance;
79
};
80
}
81
}
82
}
Array.h
Provides methods for creating, manipulating, searching, and sorting arrays.
Common.h
Defines common cross-platform macros, export decorators, and fundamental types.
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
Object.h
Base object class for DotNetDupe mirroring .NET System.Object.
SmartPointer.h
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
String.h
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
DotNetDupe::System::Array
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition
Array.h:29
DotNetDupe::System::Object
Supports all classes in the DotNetDupe class hierarchy.
Definition
Object.h:18
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::System::Text::Encoding
Represents a character encoding.
Definition
TextEncoding.h:26
DotNetDupe::System::Text::Encoding::~Encoding
virtual ~Encoding()=default
Virtual destructor.
DotNetDupe::System::Text::Encoding::GetBytes
virtual Array< char > GetBytes(const String &s)=0
Encodes a set of characters from the specified String into a sequence of bytes.
DotNetDupe::System::Text::Encoding::GetString
virtual String GetString(const Array< char > &bytes)=0
Decodes a sequence of bytes from the specified byte array into a String.
DotNetDupe::System::Text::Encoding::GetString
virtual String GetString(const char *bytes, int byteCount)=0
Decodes a sequence of bytes from the specified buffer into a String.
DotNetDupe::System::Text::TextEncoding
Provides static access to standard character encodings.
Definition
TextEncoding.h:71
DotNetDupe::System::Text::TextEncoding::UTF8
static EncodingPtr UTF8()
Gets an encoding for the UTF-8 format.
Definition
TextEncoding.cpp:44
DotNetDupe::System::Text::UTF8Encoding
Represents a UTF-8 encoding of Unicode characters.
Definition
TextEncoding.h:57
DotNetDupe::System::Text::UTF8Encoding::GetBytes
Array< char > GetBytes(const String &s) override
Encodes a set of characters into a sequence of UTF-8 bytes.
Definition
TextEncoding.cpp:11
DotNetDupe::System::Text::UTF8Encoding::GetString
String GetString(const Array< char > &bytes) override
Decodes a sequence of UTF-8 bytes into a String.
Definition
TextEncoding.cpp:23
DotNetDupe::System::Text
Definition
JsonElement.h:16
DotNetDupe::System::Text::UTF8EncodingPtr
SmartPointer< UTF8Encoding > UTF8EncodingPtr
SmartPointer alias for UTF8Encoding instances.
Definition
TextEncoding.h:51
DotNetDupe::System::Text::EncodingPtr
SmartPointer< Encoding > EncodingPtr
SmartPointer alias for Encoding instances.
Definition
TextEncoding.h:20
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
Include
System
Text
TextEncoding.h
Generated by
1.18.0