3#ifndef AWKWARD_RECORDBUILDER_H_ 
    4#define AWKWARD_RECORDBUILDER_H_ 
   41                  const std::vector<BuilderPtr>& contents,
 
   42                  const std::vector<std::string>& 
keys,
 
   43                  const std::vector<const char*>& pointers,
 
   44                  const std::string& 
name,
 
   95      datetime(int64_t x, 
const std::string& unit) 
override;
 
   98      timedelta(int64_t x, 
const std::string& unit) 
override;
 
  122      field(
const char* key, 
bool check) 
override;
 
  130    const std::vector<std::string>& 
keys()
 const { 
return keys_; }
 
  132    const std::vector<BuilderPtr>& 
builders()
 const { 
return contents_; }
 
  143      field_fast(
const char* key);
 
  146      field_check(
const char* key);
 
  149    std::vector<BuilderPtr> contents_;
 
  150    std::vector<std::string> keys_;
 
  151    std::vector<const char*> pointers_;
 
  153    const char* nameptr_;
 
 
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
 
const char * nameptr() const
String pointer for the name of the record.
 
int64_t nextindex()
Definition RecordBuilder.h:136
 
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 RecordBuilder.
 
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 std::vector< BuilderPtr > & builders() const
Definition RecordBuilder.h:132
 
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.
 
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 RecordBuilder.h:128
 
const std::vector< std::string > & keys() const
Definition RecordBuilder.h:130
 
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 RecordBuilder.h:134
 
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.
 
RecordBuilder(const BuilderOptions &options, const std::vector< BuilderPtr > &contents, const std::vector< std::string > &keys, const std::vector< const char * > &pointers, const std::string &name, const char *nameptr, int64_t length, bool begun, int64_t nextindex, int64_t nexttotry)
Create a RecordBuilder 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: "RecordBuilder".
 
void clear() override
Removes all accumulated data without resetting the type knowledge.
 
const std::string name() const
Name of the record (STL wrapped nameptr).
 
#define EXPORT_SYMBOL
Definition common.h:14
 
Definition ArrayBuilder.h:14
 
Options< int64_t, double > BuilderOptions
Definition BuilderOptions.h:56
 
std::shared_ptr< Builder > BuilderPtr
Definition ArrayBuilder.h:16