3#ifndef AWKWARD_TUPLEBUILDER_H_
4#define AWKWARD_TUPLEBUILDER_H_
36 const std::vector<BuilderPtr>& contents,
81 datetime(int64_t x,
const std::string& unit)
override;
84 timedelta(int64_t x,
const std::string& unit)
override;
87 string(
const char* x, int64_t length,
const char* encoding)
override;
108 field(
const char* key,
bool check)
override;
116 const std::vector<BuilderPtr>&
contents()
const {
return contents_; }
127 std::vector<BuilderPtr> contents_;
Abstract class to represent the output of ak.to_buffers. In Python, this would be a dict of NumPy arr...
Definition Builder.h:20
Abstract base class for nodes within an ArrayBuilder that cumulatively discover an array's type and f...
Definition Builder.h:41
Builder node for accumulated tuples.
Definition TupleBuilder.h:18
int64_t nextindex()
Definition TupleBuilder.h:120
const BuilderPtr real(double x) override
Adds a real value x to the accumulated data.
const BuilderPtr endlist() override
Ends a nested list.
static const BuilderPtr fromempty(const BuilderOptions &options)
Create an empty TupleBuilder.
const BuilderPtr timedelta(int64_t x, const std::string &unit) override
Adds a timedelta value x to the accumulated data.
void field(const char *key, bool check) override
Sets the pointer to a given record field key; the next command will fill that slot.
const BuilderPtr complex(std::complex< double > x) override
Adds a complex value x to the accumulated data.
const BuilderPtr index(int64_t index) override
Sets the pointer to a given tuple field index; the next command will fill that slot.
int64_t length() const override
Current length of the accumulated array.
const BuilderPtr endrecord() override
Ends a record.
int64_t numfields() const
Current number of fields.
bool active() const override
If true, this node has started but has not finished a multi-step command (e.g. beginX ....
const BuilderPtr string(const char *x, int64_t length, const char *encoding) override
Adds a string value x with a given length and encoding to the accumulated data.
const BuilderOptions & options() const
Definition TupleBuilder.h:114
void maybeupdate(int64_t i, const BuilderPtr builder)
const BuilderPtr integer(int64_t x) override
Adds an integer value x to the accumulated data.
bool begun()
Definition TupleBuilder.h:118
const BuilderPtr datetime(int64_t x, const std::string &unit) override
Adds a datetime value x to the accumulated data.
const BuilderPtr beginrecord(const char *name, bool check) override
Begins building a record with an optional name.
const BuilderPtr null() override
Adds a null value to the accumulated data.
const std::vector< BuilderPtr > & contents() const
Definition TupleBuilder.h:116
TupleBuilder(const BuilderOptions &options, const std::vector< BuilderPtr > &contents, int64_t length, bool begun, size_t nextindex)
Create a TupleBuilder from a full set of parameters.
const std::string to_buffers(BuffersContainer &container, int64_t &form_key_id) const override
Copy the current snapshot into the BuffersContainer and return a Form as a std::string (JSON).
const BuilderPtr beginlist() override
Begins building a nested list.
const BuilderPtr boolean(bool x) override
Adds a boolean value x to the accumulated data.
const BuilderPtr begintuple(int64_t numfields) override
Begins building a tuple with a fixed number of fields.
const BuilderPtr endtuple() override
Ends a tuple.
const std::string classname() const override
User-friendly name of this class: "TupleBuilder".
void clear() override
Removes all accumulated data without resetting the type knowledge.
#define EXPORT_SYMBOL
Definition common.h:25
Definition ArrayBuilder.h:14
std::shared_ptr< Builder > BuilderPtr
Definition ArrayBuilder.h:16
Container for all configuration options needed by ArrayBuilder, GrowableBuffer, LayoutBuilder and the...
Definition BuilderOptions.h:20