blob: af267a8c9aecb54d8961d38dc60826c7f213ad57 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#pragma once
#include <arrow/datum.h>
#include <vector>
#include <deque>
#include "util.h"
namespace NYql {
namespace NUdf {
class TArgsDechunker {
public:
explicit TArgsDechunker(std::vector<arrow::Datum>&& args);
bool Next(std::vector<arrow::Datum>& chunk);
// chunkLen will be zero if no arrays are present in chunk
bool Next(std::vector<arrow::Datum>& chunk, ui64& chunkLen);
private:
const std::vector<arrow::Datum> Args;
std::vector<std::deque<std::shared_ptr<arrow::ArrayData>>> Arrays;
bool Finish = false;
};
}
}
|