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 | f281aaf77179d27d6208b873e95ae6cd45765a63 (patch) | |
tree | b4229c6ece98c855bd9821ef0b656042c29a8953 /library/cpp/protobuf/json/string_transform.h | |
parent | 53d07fb9e28d179add32cd299c9341bf8a231a31 (diff) | |
download | ydb-f281aaf77179d27d6208b873e95ae6cd45765a63.tar.gz |
Restoring authorship annotation for <familom@yandex-team.ru>. Commit 1 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 e4b296bc01..3676c0eae5 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; }; |