Loading...
Searching...
No Matches
DatetimeBuilder Class Reference

Builder node that accumulates integers (int64_t). More...

#include <DatetimeBuilder.h>

Inheritance diagram for DatetimeBuilder:
Builder

Public Member Functions

 DatetimeBuilder (const BuilderOptions &options, GrowableBuffer< int64_t > content, const std::string &units)
 Create an DatetimeBuilder from a full set of parameters.
 
const std::string classname () const override
 User-friendly name of this class: "DatetimeBuilder".
 
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).
 
int64_t length () const override
 Current length of the accumulated array.
 
void clear () override
 Removes all accumulated data without resetting the type knowledge.
 
bool active () const override
 If true, this node has started but has not finished a multi-step command (e.g. beginX ... endX).
 
const BuilderPtr null () override
 Adds a null value to the accumulated data.
 
const BuilderPtr boolean (bool x) override
 Adds a boolean value x to the accumulated data.
 
const BuilderPtr integer (int64_t x) override
 Adds an integer value x to the accumulated data.
 
const BuilderPtr real (double x) override
 Adds a real value x to the accumulated data.
 
const BuilderPtr complex (std::complex< double > x) override
 Adds a complex value x to the accumulated data.
 
const BuilderPtr datetime (int64_t x, const std::string &unit) override
 Adds a datetime value x to the accumulated data.
 
const BuilderPtr timedelta (int64_t x, const std::string &unit) override
 Adds a timedelta value x to the accumulated data.
 
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 BuilderPtr beginlist () override
 Begins building a nested list.
 
const BuilderPtr endlist () override
 Ends a nested list.
 
const BuilderPtr begintuple (int64_t numfields) override
 Begins building a tuple with a fixed number of fields.
 
const BuilderPtr index (int64_t index) override
 Sets the pointer to a given tuple field index; the next command will fill that slot.
 
const BuilderPtr endtuple () override
 Ends a tuple.
 
const BuilderPtr beginrecord (const char *name, bool check) override
 Begins building a record with an optional name.
 
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 endrecord () override
 Ends a record.
 
const BuilderOptionsoptions () const
 
const std::string & units () const
 
const GrowableBuffer< int64_t > & buffer () const
 
const std::string & unit () const
 
- Public Member Functions inherited from Builder
virtual ~Builder ()
 Virtual destructor acts as a first non-inline virtual function that determines a specific translation unit in which vtable shall be emitted.
 

Static Public Member Functions

static const BuilderPtr fromempty (const BuilderOptions &options, const std::string &units)
 Create an empty DatetimeBuilder.
 

Detailed Description

Builder node that accumulates integers (int64_t).

Constructor & Destructor Documentation

◆ DatetimeBuilder()

DatetimeBuilder ( const BuilderOptions & options,
GrowableBuffer< int64_t > content,
const std::string & units )

Create an DatetimeBuilder from a full set of parameters.

Parameters
optionsConfiguration options for building an array; these are passed to every Builder's constructor.
bufferContains the accumulated integers.

Member Function Documentation

◆ active()

bool active ( ) const
overridevirtual

If true, this node has started but has not finished a multi-step command (e.g. beginX ... endX).

A DatetimeBuilder is never active.

Implements Builder.

◆ beginlist()

const BuilderPtr beginlist ( )
overridevirtual

Begins building a nested list.

Implements Builder.

◆ beginrecord()

const BuilderPtr beginrecord ( const char * name,
bool check )
overridevirtual

Begins building a record with an optional name.

Parameters
nameIf specified, 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.
checkIf true, actually do a string comparison to see if the provided name matches the previous name; if false, assume that the same pointer means the same string (safe for string literals).

Implements Builder.

◆ begintuple()

const BuilderPtr begintuple ( int64_t numfields)
overridevirtual

Begins building a tuple with a fixed number of fields.

Implements Builder.

◆ boolean()

const BuilderPtr boolean ( bool x)
overridevirtual

Adds a boolean value x to the accumulated data.

Implements Builder.

◆ buffer()

const GrowableBuffer< int64_t > & buffer ( ) const
inline

◆ classname()

const std::string classname ( ) const
overridevirtual

User-friendly name of this class: "DatetimeBuilder".

Implements Builder.

◆ clear()

void clear ( )
overridevirtual

Removes all accumulated data without resetting the type knowledge.

Implements Builder.

◆ complex()

const BuilderPtr complex ( std::complex< double > x)
overridevirtual

Adds a complex value x to the accumulated data.

Implements Builder.

◆ datetime()

const BuilderPtr datetime ( int64_t x,
const std::string & unit )
overridevirtual

Adds a datetime value x to the accumulated data.

Implements Builder.

◆ endlist()

const BuilderPtr endlist ( )
overridevirtual

Ends a nested list.

Implements Builder.

◆ endrecord()

const BuilderPtr endrecord ( )
overridevirtual

Ends a record.

Implements Builder.

◆ endtuple()

const BuilderPtr endtuple ( )
overridevirtual

Ends a tuple.

Implements Builder.

◆ field()

void field ( const char * key,
bool check )
overridevirtual

Sets the pointer to a given record field key; the next command will fill that slot.

Parameters
keyIndicates the field to fill.
checkIf true, actually do a string comparison to see if key matches the previous key; if false, assume that the same pointer means the same string (safe for string literals).

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.

Implements Builder.

◆ fromempty()

static const BuilderPtr fromempty ( const BuilderOptions & options,
const std::string & units )
static

Create an empty DatetimeBuilder.

Parameters
optionsConfiguration options for building an array; these are passed to every Builder's constructor.

◆ index()

const BuilderPtr index ( int64_t index)
overridevirtual

Sets the pointer to a given tuple field index; the next command will fill that slot.

Implements Builder.

◆ integer()

const BuilderPtr integer ( int64_t x)
overridevirtual

Adds an integer value x to the accumulated data.

Implements Builder.

◆ length()

int64_t length ( ) const
overridevirtual

Current length of the accumulated array.

Implements Builder.

◆ null()

const BuilderPtr null ( )
overridevirtual

Adds a null value to the accumulated data.

Implements Builder.

◆ options()

const BuilderOptions & options ( ) const
inline

◆ real()

const BuilderPtr real ( double x)
overridevirtual

Adds a real value x to the accumulated data.

Implements Builder.

◆ string()

const BuilderPtr string ( const char * x,
int64_t length,
const char * encoding )
overridevirtual

Adds a string value x with a given length and encoding to the accumulated data.

Note
Currently, only encoding =
  • nullptr (no encoding; a bytestring)
  • "utf-8" (variable-length Unicode 8-bit encoding)

are supported.

Implements Builder.

◆ timedelta()

const BuilderPtr timedelta ( int64_t x,
const std::string & unit )
overridevirtual

Adds a timedelta value x to the accumulated data.

Implements Builder.

◆ to_buffers()

const std::string to_buffers ( BuffersContainer & container,
int64_t & form_key_id ) const
overridevirtual

Copy the current snapshot into the BuffersContainer and return a Form as a std::string (JSON).

Implements Builder.

◆ unit()

const std::string & unit ( ) const
inline

◆ units()

const std::string & units ( ) const

The documentation for this class was generated from the following file: