CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
unicode_encoding.h
1
2#pragma once
3
4#include <system/string.h>
5#include <system/text/icu_encoding.h>
6
7namespace System { namespace Text {
8
13class ASPOSECPP_SHARED_CLASS UnicodeEncoding : public ICUEncoding
14{
15public:
17 static constexpr int UNICODE_CODE_PAGE = 1200;
19 static constexpr int BIG_UNICODE_CODE_PAGE = 1201;
20
22 ASPOSECPP_SHARED_API UnicodeEncoding();
26 ASPOSECPP_SHARED_API UnicodeEncoding(bool big_endian, bool byte_order_mark);
31 ASPOSECPP_SHARED_API UnicodeEncoding(bool big_endian, bool byte_order_mark, bool throw_on_invalid_bytes);
32
35 ASPOSECPP_SHARED_API int GetHashCode() const override;
39 ASPOSECPP_SHARED_API bool Equals(SharedPtr<Object> obj) override;
40
43 ASPOSECPP_SHARED_API ArrayPtr<uint8_t> GetPreamble() override;
47 ASPOSECPP_SHARED_API int GetMaxCharCount(int byte_count) override;
51 ASPOSECPP_SHARED_API int GetMaxByteCount(int char_count) override;
52
55 ASPOSECPP_SHARED_API bool operator==(const UnicodeEncoding&) const;
56
59 ASPOSECPP_SHARED_API SharedPtr<Object> Clone() override;
60
61protected:
63 ASPOSECPP_SHARED_API ~UnicodeEncoding() override;
64
65private:
67 const bool m_is_throw_exception = false;
69 const bool m_big_endian = false;
71 const bool m_byte_order_mark = true;
72};
73
74}} // namespace System::Text
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
ICU-based encoding implementation. FOR INTERNAL USE. Objects of this class should only be allocated u...
Definition: icu_encoding.h:17
Unicode encoding. Objects of this class should only be allocated using System::MakeObject() function....
Definition: unicode_encoding.h:14
int GetHashCode() const override
Hashes encoding.
UnicodeEncoding(bool big_endian, bool byte_order_mark)
Constructor.
~UnicodeEncoding() override
Destructor.
SharedPtr< Object > Clone() override
Clones encoding object.
int GetMaxByteCount(int char_count) override
Get the maximum number of bytes needed to encode a specified number of characters.
ArrayPtr< uint8_t > GetPreamble() override
Returns a sequence of bytes that denotes the encoding (e. g. BOM).
bool operator==(const UnicodeEncoding &) const
Compares encodings by codepages and flags.
UnicodeEncoding(bool big_endian, bool byte_order_mark, bool throw_on_invalid_bytes)
Constructor.
int GetMaxCharCount(int byte_count) override
Get the maximum number of characters needed to decode a specified number of bytes.
bool Equals(SharedPtr< Object > obj) override
Compares encodings.
@ Text
Defines color adjustment information for text.
Definition: db_command.h:9