#include "absl/log/internal/proto.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/types/span.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace log_internal {
namespace {
void EncodeRawVarint(uint64_t value, size_t size, absl::Span<char> *buf) { … }
constexpr uint64_t MakeTagType(uint64_t tag, WireType type) { … }
}
bool EncodeVarint(uint64_t tag, uint64_t value, absl::Span<char> *buf) { … }
bool Encode64Bit(uint64_t tag, uint64_t value, absl::Span<char> *buf) { … }
bool Encode32Bit(uint64_t tag, uint32_t value, absl::Span<char> *buf) { … }
bool EncodeBytes(uint64_t tag, absl::Span<const char> value,
absl::Span<char> *buf) { … }
bool EncodeBytesTruncate(uint64_t tag, absl::Span<const char> value,
absl::Span<char> *buf) { … }
ABSL_MUST_USE_RESULT absl::Span<char> EncodeMessageStart(
uint64_t tag, uint64_t max_size, absl::Span<char> *buf) { … }
void EncodeMessageLength(absl::Span<char> msg, const absl::Span<char> *buf) { … }
namespace {
uint64_t DecodeVarint(absl::Span<const char> *buf) { … }
uint64_t Decode64Bit(absl::Span<const char> *buf) { … }
uint32_t Decode32Bit(absl::Span<const char> *buf) { … }
}
bool ProtoField::DecodeFrom(absl::Span<const char> *data) { … }
}
ABSL_NAMESPACE_END
}