50 static constexpr size_t kDefaultArenaInitialSize = 64 * 1024;
54 size_t arena_initial_size = kDefaultArenaInitialSize);
62 Result<bool> Contains(
const StructLike& row)
const;
73 using is_transparent = void;
74 size_t operator()(
const std::unique_ptr<StructLike>& p)
const noexcept;
75 size_t operator()(
const StructLike& s)
const noexcept;
80 using is_transparent = void;
81 bool operator()(
const std::unique_ptr<StructLike>& lhs,
82 const std::unique_ptr<StructLike>& rhs)
const noexcept;
84 const std::unique_ptr<StructLike>& rhs)
const noexcept;
85 bool operator()(
const std::unique_ptr<StructLike>& lhs,
90 Result<std::unique_ptr<StructLike>> MakeArenaRow(
const StructLike& row)
const;
94 Result<Scalar> DeepCopyScalar(
const Scalar& scalar)
const;
97 std::string_view CopyToArena(std::string_view src)
const;
99 std::vector<std::shared_ptr<Type>> field_types_;
100 mutable std::pmr::monotonic_buffer_resource arena_;
101 std::unordered_set<std::unique_ptr<StructLike>, KeyHash, KeyEqual> set_;
std::variant< std::monostate, bool, int32_t, int64_t, float, double, std::string_view, Decimal, std::shared_ptr< StructLike >, std::shared_ptr< ArrayLike >, std::shared_ptr< MapLike > > Scalar
A scalar value depending on its data type.
Definition struct_like.h:56