#include "./fuzztest/internal/serialization.h"
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <limits>
#include <optional>
#include <string>
#include <variant>
#include <vector>
#include "absl/strings/numbers.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
namespace fuzztest::internal {
namespace {
struct OutputVisitor { … };
constexpr absl::string_view kHeader = …;
absl::string_view ReadToken(absl::string_view& in) { … }
bool ReadScalar(uint64_t& out, absl::string_view value) { … }
bool ReadScalar(double& out, absl::string_view value) { … }
bool ReadScalar(std::string& out, absl::string_view value) { … }
constexpr int kMaxParseRecursionDepth = …;
bool ParseImpl(IRObject& obj, absl::string_view& str, int recursion_depth) { … }
enum class BinaryFormatHeader : char { … };
struct BinaryOutputVisitor { … };
constexpr absl::string_view kBinaryHeader = …;
struct BinaryParseBuf { … };
bool BinaryParse(IRObject& obj, BinaryParseBuf& buf, int recursion_depth) { … }
bool IsInBinaryFormat(absl::string_view str) { … }
}
std::string IRObject::ToString(bool binary_format) const { … }
std::optional<IRObject> IRObject::FromString(absl::string_view str) { … }
}