diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h | 170 |
1 files changed, 85 insertions, 85 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h b/contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h index 0d38a71ddf..d8cba78743 100644 --- a/contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h +++ b/contrib/libs/poco/Foundation/include/Poco/UTF16Encoding.h @@ -1,85 +1,85 @@ -// -// UTF16Encoding.h -// -// Library: Foundation -// Package: Text -// Module: UTF16Encoding -// -// Definition of the UTF16Encoding class. -// -// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_UTF16Encoding_INCLUDED -#define Foundation_UTF16Encoding_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/TextEncoding.h" - - -namespace Poco { - - -class Foundation_API UTF16Encoding: public TextEncoding - /// UTF-16 text encoding, as defined in RFC 2781. - /// - /// When converting from UTF-16 to Unicode, surrogates are - /// reported as they are - in other words, surrogate pairs - /// are not combined into one Unicode character. - /// When converting from Unicode to UTF-16, however, characters - /// outside the 16-bit range are converted into a low and - /// high surrogate. -{ -public: - enum ByteOrderType - { - BIG_ENDIAN_BYTE_ORDER, - LITTLE_ENDIAN_BYTE_ORDER, - NATIVE_BYTE_ORDER - }; - - UTF16Encoding(ByteOrderType byteOrder = NATIVE_BYTE_ORDER); - /// Creates and initializes the encoding for the given byte order. - - UTF16Encoding(int byteOrderMark); - /// Creates and initializes the encoding for the byte-order - /// indicated by the given byte-order mark, which is the Unicode - /// character 0xFEFF. - - ~UTF16Encoding(); - - ByteOrderType getByteOrder() const; - /// Returns the byte-order currently in use. - - void setByteOrder(ByteOrderType byteOrder); - /// Sets the byte order. - - void setByteOrder(int byteOrderMark); - /// Sets the byte order according to the given - /// byte order mark, which is the Unicode - /// character 0xFEFF. - - const char* canonicalName() const; - bool isA(const std::string& encodingName) const; - const CharacterMap& characterMap() const; - int convert(const unsigned char* bytes) const; - int convert(int ch, unsigned char* bytes, int length) const; - int queryConvert(const unsigned char* bytes, int length) const; - int sequenceLength(const unsigned char* bytes, int length) const; - -private: - bool _flipBytes; - static const char* _names[]; - static const CharacterMap _charMap; -}; - - -} // namespace Poco - - -#endif // Foundation_UTF16Encoding_INCLUDED +// +// UTF16Encoding.h +// +// Library: Foundation +// Package: Text +// Module: UTF16Encoding +// +// Definition of the UTF16Encoding class. +// +// Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_UTF16Encoding_INCLUDED +#define Foundation_UTF16Encoding_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/TextEncoding.h" + + +namespace Poco { + + +class Foundation_API UTF16Encoding: public TextEncoding + /// UTF-16 text encoding, as defined in RFC 2781. + /// + /// When converting from UTF-16 to Unicode, surrogates are + /// reported as they are - in other words, surrogate pairs + /// are not combined into one Unicode character. + /// When converting from Unicode to UTF-16, however, characters + /// outside the 16-bit range are converted into a low and + /// high surrogate. +{ +public: + enum ByteOrderType + { + BIG_ENDIAN_BYTE_ORDER, + LITTLE_ENDIAN_BYTE_ORDER, + NATIVE_BYTE_ORDER + }; + + UTF16Encoding(ByteOrderType byteOrder = NATIVE_BYTE_ORDER); + /// Creates and initializes the encoding for the given byte order. + + UTF16Encoding(int byteOrderMark); + /// Creates and initializes the encoding for the byte-order + /// indicated by the given byte-order mark, which is the Unicode + /// character 0xFEFF. + + ~UTF16Encoding(); + + ByteOrderType getByteOrder() const; + /// Returns the byte-order currently in use. + + void setByteOrder(ByteOrderType byteOrder); + /// Sets the byte order. + + void setByteOrder(int byteOrderMark); + /// Sets the byte order according to the given + /// byte order mark, which is the Unicode + /// character 0xFEFF. + + const char* canonicalName() const; + bool isA(const std::string& encodingName) const; + const CharacterMap& characterMap() const; + int convert(const unsigned char* bytes) const; + int convert(int ch, unsigned char* bytes, int length) const; + int queryConvert(const unsigned char* bytes, int length) const; + int sequenceLength(const unsigned char* bytes, int length) const; + +private: + bool _flipBytes; + static const char* _names[]; + static const CharacterMap _charMap; +}; + + +} // namespace Poco + + +#endif // Foundation_UTF16Encoding_INCLUDED |