sparrow-ipc 0.3.0
Loading...
Searching...
No Matches
deserialization_context.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <span>
5#include <string>
6#include <unordered_set>
7#include <vector>
8
9#include <sparrow/c_interface.hpp>
10
11#include "Schema_generated.h"
12#include "Message_generated.h"
13
16
17namespace sparrow_ipc
18{
33 {
34 const org::apache::arrow::flatbuf::RecordBatch& record_batch;
35 std::span<const uint8_t> body;
36 size_t& buffer_index;
37 size_t& node_index;
39
41 const org::apache::arrow::flatbuf::RecordBatch& record_batch,
42 std::span<const uint8_t> body,
43 size_t& buffer_index,
44 size_t& node_index,
45 size_t& variadic_counts_idx)
47 , body(body)
51 {}
52 };
53
70 {
71 int64_t length;
72 std::string name;
73 std::optional<std::vector<sparrow::metadata_pair>> metadata;
74 std::optional<std::unordered_set<sparrow::ArrowFlag>> flags;
76 const org::apache::arrow::flatbuf::Field& field;
78
80 int64_t length,
81 std::string name,
82 std::optional<std::vector<sparrow::metadata_pair>> metadata,
83 std::optional<std::unordered_set<sparrow::ArrowFlag>> flags,
85 const org::apache::arrow::flatbuf::Field& field,
87 : length(length)
88 , name(std::move(name))
89 , metadata(std::move(metadata))
90 , flags(std::move(flags))
92 , field(field)
94 {}
95 };
96} // namespace sparrow_ipc
Caches dictionaries during deserialization.
deserialization_context(const org::apache::arrow::flatbuf::RecordBatch &record_batch, std::span< const uint8_t > body, size_t &buffer_index, size_t &node_index, size_t &variadic_counts_idx)
const org::apache::arrow::flatbuf::RecordBatch & record_batch
std::optional< std::vector< sparrow::metadata_pair > > metadata
const org::apache::arrow::flatbuf::Field & field
field_descriptor(int64_t length, std::string name, std::optional< std::vector< sparrow::metadata_pair > > metadata, std::optional< std::unordered_set< sparrow::ArrowFlag > > flags, bool decode_dictionary_indices, const org::apache::arrow::flatbuf::Field &field, const dictionary_cache *dictionaries)
std::optional< std::unordered_set< sparrow::ArrowFlag > > flags