diff options
author | familom <familom@yandex-team.ru> | 2022-02-10 16:49:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:49 +0300 |
commit | 9c61d3a2cac2a16341e82c613b030fcc03bf277a (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/protobuf/json/string_transform.h | |
parent | f281aaf77179d27d6208b873e95ae6cd45765a63 (diff) | |
download | ydb-9c61d3a2cac2a16341e82c613b030fcc03bf277a.tar.gz |
Restoring authorship annotation for <familom@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/protobuf/json/string_transform.h')
-rw-r--r-- | library/cpp/protobuf/json/string_transform.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/library/cpp/protobuf/json/string_transform.h b/library/cpp/protobuf/json/string_transform.h index 3676c0eae5..e4b296bc01 100644 --- a/library/cpp/protobuf/json/string_transform.h +++ b/library/cpp/protobuf/json/string_transform.h @@ -1,26 +1,26 @@ -#pragma once - +#pragma once + #include <library/cpp/string_utils/relaxed_escaper/relaxed_escaper.h> -#include <util/generic/ptr.h> -#include <util/generic/refcount.h> - -namespace NProtobufJson { +#include <util/generic/ptr.h> +#include <util/generic/refcount.h> + +namespace NProtobufJson { class IStringTransform: public TSimpleRefCount<IStringTransform> { public: virtual ~IStringTransform() { } - + /// Some transforms have special meaning. /// For example, escape transforms cause generic JSON escaping to be turned off. enum Type { EscapeTransform = 0x1, }; - + virtual int GetType() const = 0; - + /// This method is called for each string field in proto virtual void Transform(TString& str) const = 0; - + /// This method is called for each bytes field in proto virtual void TransformBytes(TString& str) const { // Default behaviour is to apply string transform @@ -29,45 +29,45 @@ namespace NProtobufJson { }; using TStringTransformPtr = TIntrusivePtr<IStringTransform>; - + template <bool quote, bool tounicode> class TEscapeJTransform: public IStringTransform { public: int GetType() const override { return EscapeTransform; } - + void Transform(TString& str) const override { TString newStr; NEscJ::EscapeJ<quote, tounicode>(str, newStr); str = newStr; } }; - + class TCEscapeTransform: public IStringTransform { public: int GetType() const override { return EscapeTransform; } - + void Transform(TString& str) const override; }; - + class TSafeUtf8CEscapeTransform: public IStringTransform { public: int GetType() const override { return EscapeTransform; } - + void Transform(TString& str) const override; }; - + class TDoubleEscapeTransform: public IStringTransform { public: int GetType() const override { return EscapeTransform; } - + void Transform(TString& str) const override; }; |