User interface to the Builder system: the ArrayBuilder is a fixed reference while the Builder subclass instances change in response to accumulating data. More...
#include <ArrayBuilder.h>
Public Member Functions | |
| ArrayBuilder (const BuilderOptions &options) | |
| Creates an ArrayBuilder from a full set of parameters. | |
| const std::string | to_buffers (BuffersContainer &container, int64_t &form_key_id) const |
| Copy the current snapshot into the BuffersContainer and return a Form as a std::string (JSON). | |
| int64_t | length () const |
| Current length of the accumulated array. | |
| void | clear () |
| Removes all accumulated data without resetting the type knowledge. | |
| void | null () |
Adds a null value to the accumulated data. | |
| void | boolean (bool x) |
Adds a boolean value x to the accumulated data. | |
| void | integer (int64_t x) |
Adds an integer value x to the accumulated data. | |
| void | real (double x) |
Adds a real value x to the accumulated data. | |
| void | complex (std::complex< double > x) |
Adds a complex value x to the accumulated data. | |
| void | datetime (int64_t x, const std::string &unit) |
Adds a datetime value x to the accumulated data. | |
| void | timedelta (int64_t x, const std::string &unit) |
Adds a timedelta value x to the accumulated data. | |
| void | bytestring (const char *x) |
Adds an unencoded, null-terminated bytestring value x to the accumulated data. | |
| void | bytestring (const char *x, int64_t length) |
Adds an unencoded bytestring value x with a given length to the accumulated data. | |
| void | bytestring (const std::string &x) |
Adds an unencoded bytestring x in STL format to the accumulated data. | |
| void | string (const char *x) |
Adds a UTF-8 encoded, null-terminated bytestring value x to the accumulated data. | |
| void | string (const char *x, int64_t length) |
Adds a UTF-8 encoded bytestring value x with a given length to the accumulated data. | |
| void | string (const std::string &x) |
Adds a UTF-8 encoded bytestring x in STL format to the accumulated data. | |
| void | beginlist () |
| Begins building a nested list. | |
| void | endlist () |
| Ends a nested list. | |
| void | begintuple (int64_t numfields) |
| Begins building a tuple with a fixed number of fields. | |
| void | index (int64_t index) |
| Sets the pointer to a given tuple field index; the next command will fill that slot. | |
| void | endtuple () |
| Ends a tuple. | |
| void | beginrecord () |
| Begins building a record without a name. | |
| void | beginrecord_fast (const char *name) |
| Begins building a record with a name. | |
| void | beginrecord_check (const char *name) |
| Begins building a record with a name. | |
| void | beginrecord_check (const std::string &name) |
| Begins building a record with a name. | |
| void | field_fast (const char *key) |
Sets the pointer to a given record field key; the next command will fill that slot. | |
| void | field_check (const char *key) |
Sets the pointer to a given record field key; the next command will fill that slot. | |
| void | field_check (const std::string &key) |
Sets the pointer to a given record field key; the next command will fill that slot. | |
| void | endrecord () |
| Ends a record. | |
| const BuilderPtr | builder () const |
| void | builder_update (BuilderPtr builder) |
| void | maybeupdate (const BuilderPtr builder) |
| Internal function to replace the root node of the ArrayBuilder's Builder tree with a new root. | |
User interface to the Builder system: the ArrayBuilder is a fixed reference while the Builder subclass instances change in response to accumulating data.
| ArrayBuilder | ( | const BuilderOptions & | options | ) |
Creates an ArrayBuilder from a full set of parameters.
| options | Configuration options for building an array; these are passed to every Builder's constructor. |
| void beginlist | ( | ) |
Begins building a nested list.
| void beginrecord | ( | ) |
Begins building a record without a name.
See beginrecord_fast and beginrecord_check.
| void beginrecord_check | ( | const char * | name | ) |
Begins building a record with a name.
| name | This name is used to distinguish records of different types in heterogeneous data (to build a union of record arrays, rather than a record array with union fields and optional values) and it also sets the "__record__" parameter to later add custom behaviors in Python. |
In the _check version of this method, a string comparison is performed every time it is called to verify that the name matches a stored name.
See beginrecord and beginrecord_fast.
| void beginrecord_check | ( | const std::string & | name | ) |
Begins building a record with a name.
| name | This name is used to distinguish records of different types in heterogeneous data (to build a union of record arrays, rather than a record array with union fields and optional values) and it also sets the "__record__" parameter to later add custom behaviors in Python. |
In the _check version of this method, a string comparison is performed every time it is called to verify that the name matches a stored name.
See beginrecord and beginrecord_fast.
| void beginrecord_fast | ( | const char * | name | ) |
Begins building a record with a name.
| name | This name is used to distinguish records of different types in heterogeneous data (to build a union of record arrays, rather than a record array with union fields and optional values) and it also sets the "__record__" parameter to later add custom behaviors in Python. |
In the _fast version of this method, a string comparison is not performed: the same pointer is assumed to have the same value each time (safe for string literals).
See beginrecord and beginrecord_check.
| void begintuple | ( | int64_t | numfields | ) |
Begins building a tuple with a fixed number of fields.
| void boolean | ( | bool | x | ) |
Adds a boolean value x to the accumulated data.
|
inline |
|
inline |
| void bytestring | ( | const char * | x | ) |
Adds an unencoded, null-terminated bytestring value x to the accumulated data.
| void bytestring | ( | const char * | x, |
| int64_t | length | ||
| ) |
Adds an unencoded bytestring value x with a given length to the accumulated data.
The string does not need to be null-terminated.
| void bytestring | ( | const std::string & | x | ) |
Adds an unencoded bytestring x in STL format to the accumulated data.
| void clear | ( | ) |
Removes all accumulated data without resetting the type knowledge.
| void complex | ( | std::complex< double > | x | ) |
Adds a complex value x to the accumulated data.
| void datetime | ( | int64_t | x, |
| const std::string & | unit | ||
| ) |
Adds a datetime value x to the accumulated data.
| void endlist | ( | ) |
Ends a nested list.
| void endrecord | ( | ) |
Ends a record.
| void endtuple | ( | ) |
Ends a tuple.
| void field_check | ( | const char * | key | ) |
Sets the pointer to a given record field key; the next command will fill that slot.
In the _check version of this method, a string comparison is performed every time it is called to verify that the key matches a stored key. See field_fast.
Record keys are checked in round-robin order. The best performance will be achieved by filling them in the same order for each record. Lookup time for random order scales with the number of fields.
| void field_check | ( | const std::string & | key | ) |
Sets the pointer to a given record field key; the next command will fill that slot.
In the _check version of this method, a string comparison is performed every time it is called to verify that the key matches a stored key. See field_fast.
Record keys are checked in round-robin order. The best performance will be achieved by filling them in the same order for each record. Lookup time for random order scales with the number of fields.
| void field_fast | ( | const char * | key | ) |
Sets the pointer to a given record field key; the next command will fill that slot.
In the _fast version of this method, a string comparison is not performed: the same pointer is assumed to have the same value each time (safe for string literals). See field_check.
Record keys are checked in round-robin order. The best performance will be achieved by filling them in the same order for each record. Lookup time for random order scales with the number of fields.
| void index | ( | int64_t | index | ) |
Sets the pointer to a given tuple field index; the next command will fill that slot.
| void integer | ( | int64_t | x | ) |
Adds an integer value x to the accumulated data.
| int64_t length | ( | ) | const |
Current length of the accumulated array.
| void maybeupdate | ( | const BuilderPtr | builder | ) |
Internal function to replace the root node of the ArrayBuilder's Builder tree with a new root.
| void null | ( | ) |
Adds a null value to the accumulated data.
| void real | ( | double | x | ) |
Adds a real value x to the accumulated data.
| void string | ( | const char * | x | ) |
Adds a UTF-8 encoded, null-terminated bytestring value x to the accumulated data.
| void string | ( | const char * | x, |
| int64_t | length | ||
| ) |
Adds a UTF-8 encoded bytestring value x with a given length to the accumulated data.
The string does not need to be null-terminated.
| void string | ( | const std::string & | x | ) |
Adds a UTF-8 encoded bytestring x in STL format to the accumulated data.
| void timedelta | ( | int64_t | x, |
| const std::string & | unit | ||
| ) |
Adds a timedelta value x to the accumulated data.
| const std::string to_buffers | ( | BuffersContainer & | container, |
| int64_t & | form_key_id | ||
| ) | const |
Copy the current snapshot into the BuffersContainer and return a Form as a std::string (JSON).