diff options
author | ermolovd <ermolovd@yandex-team.ru> | 2022-02-10 16:47:53 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:53 +0300 |
commit | 2a4a975b112fa0fa138abc7457fe67e0e1e7fd02 (patch) | |
tree | c0748b5dcbade83af788c0abfa89c0383d6b779c /library/cpp/yt/coding | |
parent | b91bcef7c99a119b0846479ef71bfab4beec72ca (diff) | |
download | ydb-2a4a975b112fa0fa138abc7457fe67e0e1e7fd02.tar.gz |
Restoring authorship annotation for <ermolovd@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/yt/coding')
-rw-r--r-- | library/cpp/yt/coding/varint-inl.h | 82 | ||||
-rw-r--r-- | library/cpp/yt/coding/varint.h | 12 |
2 files changed, 47 insertions, 47 deletions
diff --git a/library/cpp/yt/coding/varint-inl.h b/library/cpp/yt/coding/varint-inl.h index 8a2eca7068..f0a09e9d30 100644 --- a/library/cpp/yt/coding/varint-inl.h +++ b/library/cpp/yt/coding/varint-inl.h @@ -139,25 +139,25 @@ Y_FORCE_INLINE int ReadVarUint64(const char* input, ui64* value) }, value); } -Y_FORCE_INLINE int ReadVarUint64(const char* input, const char* end, ui64* value) -{ - return ReadVarUint64Impl([&] () { - if (input == end) { +Y_FORCE_INLINE int ReadVarUint64(const char* input, const char* end, ui64* value) +{ + return ReadVarUint64Impl([&] () { + if (input == end) { throw TSimpleException("Premature end of data while reading varuint64"); - } - char byte = *input; - ++input; - return byte; - }, value); -} - + } + char byte = *input; + ++input; + return byte; + }, value); +} + //////////////////////////////////////////////////////////////////////////////// -template <class... Args> -Y_FORCE_INLINE int ReadVarUint32Impl(ui32* value, Args... args) +template <class... Args> +Y_FORCE_INLINE int ReadVarUint32Impl(ui32* value, Args... args) { ui64 varInt; - int bytesRead = ReadVarUint64(args..., &varInt); + int bytesRead = ReadVarUint64(args..., &varInt); if (varInt > std::numeric_limits<ui32>::max()) { throw TSimpleException("Value is too big for varuint32"); } @@ -167,26 +167,26 @@ Y_FORCE_INLINE int ReadVarUint32Impl(ui32* value, Args... args) Y_FORCE_INLINE int ReadVarUint32(IInputStream* input, ui32* value) { - return ReadVarUint32Impl(value, input); + return ReadVarUint32Impl(value, input); } Y_FORCE_INLINE int ReadVarUint32(const char* input, ui32* value) { - return ReadVarUint32Impl(value, input); + return ReadVarUint32Impl(value, input); +} + +Y_FORCE_INLINE int ReadVarUint32(const char* input, const char* end, ui32* value) +{ + return ReadVarUint32Impl(value, input, end); } -Y_FORCE_INLINE int ReadVarUint32(const char* input, const char* end, ui32* value) -{ - return ReadVarUint32Impl(value, input, end); -} - //////////////////////////////////////////////////////////////////////////////// -template <class... Args> -Y_FORCE_INLINE int ReadVarInt32Impl(i32* value, Args... args) +template <class... Args> +Y_FORCE_INLINE int ReadVarInt32Impl(i32* value, Args... args) { ui64 varInt; - int bytesRead = ReadVarUint64(args..., &varInt); + int bytesRead = ReadVarUint64(args..., &varInt); if (varInt > std::numeric_limits<ui32>::max()) { throw TSimpleException("Value is too big for varint32"); } @@ -196,45 +196,45 @@ Y_FORCE_INLINE int ReadVarInt32Impl(i32* value, Args... args) Y_FORCE_INLINE int ReadVarInt32(IInputStream* input, i32* value) { - return ReadVarInt32Impl(value, input); + return ReadVarInt32Impl(value, input); } Y_FORCE_INLINE int ReadVarInt32(const char* input, i32* value) { - return ReadVarInt32Impl(value, input); + return ReadVarInt32Impl(value, input); +} + +Y_FORCE_INLINE int ReadVarInt32(const char* input, const char* end, i32* value) +{ + return ReadVarInt32Impl(value, input, end); } -Y_FORCE_INLINE int ReadVarInt32(const char* input, const char* end, i32* value) -{ - return ReadVarInt32Impl(value, input, end); -} - //////////////////////////////////////////////////////////////////////////////// -template <class... Args> -Y_FORCE_INLINE int ReadVarInt64Impl(i64* value, Args... args) +template <class... Args> +Y_FORCE_INLINE int ReadVarInt64Impl(i64* value, Args... args) { ui64 varInt; - int bytesRead = ReadVarUint64(args..., &varInt); + int bytesRead = ReadVarUint64(args..., &varInt); *value = ZigZagDecode64(varInt); return bytesRead; } Y_FORCE_INLINE int ReadVarInt64(IInputStream* input, i64* value) { - return ReadVarInt64Impl(value, input); + return ReadVarInt64Impl(value, input); } Y_FORCE_INLINE int ReadVarInt64(const char* input, i64* value) { - return ReadVarInt64Impl(value, input); + return ReadVarInt64Impl(value, input); +} + +Y_FORCE_INLINE int ReadVarInt64(const char* input, const char* end, i64* value) +{ + return ReadVarInt64Impl(value, input, end); } -Y_FORCE_INLINE int ReadVarInt64(const char* input, const char* end, i64* value) -{ - return ReadVarInt64Impl(value, input, end); -} - //////////////////////////////////////////////////////////////////////////////// } // namespace NYT diff --git a/library/cpp/yt/coding/varint.h b/library/cpp/yt/coding/varint.h index 96b609a042..c5399f8b06 100644 --- a/library/cpp/yt/coding/varint.h +++ b/library/cpp/yt/coding/varint.h @@ -41,12 +41,12 @@ int ReadVarUint32(const char* input, ui32* value); int ReadVarInt32(const char* input, i32* value); int ReadVarInt64(const char* input, i64* value); -// Throws exception if integer is not complete when `end' is reached. -int ReadVarUint64(const char* input, const char* end, ui64* value); -int ReadVarUint32(const char* input, const char* end, ui32* value); -int ReadVarInt32(const char* input, const char* end, i32* value); -int ReadVarInt64(const char* input, const char* end, i64* value); - +// Throws exception if integer is not complete when `end' is reached. +int ReadVarUint64(const char* input, const char* end, ui64* value); +int ReadVarUint32(const char* input, const char* end, ui32* value); +int ReadVarInt32(const char* input, const char* end, i32* value); +int ReadVarInt64(const char* input, const char* end, i64* value); + //////////////////////////////////////////////////////////////////////////////// } // namespace NYT |