sparrow 0.6.0
Loading...
Searching...
No Matches
record_batch_example.cpp
Go to the documentation of this file.
1
4
5
6#include <cassert>
7
10
11std::vector<sparrow::array> make_array_list(const std::size_t data_size)
12{
13 auto iota = std::ranges::iota_view{std::size_t(0), std::size_t(data_size)};
15 iota
16 | std::views::transform(
17 [](auto i)
18 {
19 return static_cast<std::uint16_t>(i);
20 }
21 )
22 );
23 auto iota2 = std::ranges::iota_view{std::int32_t(4), 4 + std::int32_t(data_size)};
25 auto iota3 = std::ranges::iota_view{std::int32_t(2), 2 + std::int32_t(data_size)};
27
28 std::vector<sparrow::array> arr_list = {
29 sparrow::array{std::move(pr0)},
30 sparrow::array{std::move(pr1)},
31 sparrow::array{std::move(pr2)}
32 };
33 return arr_list;
34}
35
36int main()
37{
39 const std::vector<std::string> name_list = {"first", "second", "third"};
40 constexpr std::size_t data_size = 10;
41 const std::vector<sparrow::array> array_list = make_array_list(data_size);
42 const sparrow::record_batch record{name_list, array_list};
43 assert(record.nb_columns() == array_list.size());
44 assert(record.nb_rows() == data_size);
45 assert(record.contains_column(name_list[0]));
46 assert(record.get_column_name(0) == name_list[0]);
47 assert(record.get_column(0) == array_list[0]);
48 assert(std::ranges::equal(record.names(), name_list));
49 assert(std::ranges::equal(record.columns(), array_list));
51 return EXIT_SUCCESS;
52}
int main()
Dynamically typed array encapsulating an Arrow layout.
Definition array_api.hpp:39
Table-like data structure.
primitive_array_impl< T > primitive_array
Array of values of whose type has fixed binary size.
std::vector< sparrow::array > make_array_list(const std::size_t data_size)