Turi Create
4.0
|
#include <core/storage/query_engine/util/aggregates.hpp>
Public Member Functions | |
group_aggregate_value * | new_instance () const |
Returns a new empty instance of sum with the same type. | |
void | add_element_simple (const flexible_type &flex) |
Adds a new element to be summed. | |
flexible_type | emit () const |
Emits the result. | |
void | combine (const group_aggregate_value &flex) |
bool | support_type (flex_type_enum) const |
void | save (oarchive &oarc) const |
Serializer. | |
void | load (iarchive &iarc) |
Deserializer. | |
std::string | name () const |
virtual void | add_element (const std::vector< flexible_type > &values) |
virtual void | partial_finalize () |
virtual flex_type_enum | set_input_types (const std::vector< flex_type_enum > &types) |
virtual void | print (std::ostream &os) const |
Implements a generic aggregator where a function is called on each add method.
Any attempt to combine, or save, will result in a failure.
Definition at line 27 of file aggregates.hpp.
|
inlinevirtualinherited |
Adds an element to the aggregate. Elements to be added will be either the input_type (as set by set_input_type()) or UNDEFINED.
Operator that expects more than one input values need to overwrite this function
Reimplemented in turi::groupby_operators::zip_dict, turi::groupby_operators::argmax, and turi::groupby_operators::argmin.
Definition at line 60 of file group_aggregate_value.hpp.
|
inlinevirtual |
Combines two partial aggregates
Implements turi::group_aggregate_value.
Definition at line 54 of file aggregates.hpp.
|
inlinevirtual |
Returns a printable name of the operation.
Implements turi::group_aggregate_value.
Definition at line 73 of file aggregates.hpp.
|
inlinevirtualinherited |
No more elements will be added to this value. However, this value may still be combined with other values.
Reimplemented in turi::groupby_operators::quantile.
Definition at line 75 of file group_aggregate_value.hpp.
|
inlinevirtualinherited |
Override this function for allowing the operator to be easily printed.
Reimplemented in turi::groupby_operators::variance.
Definition at line 134 of file group_aggregate_value.hpp.
|
inlinevirtualinherited |
Sets the input types and returns the output type. For instance, a sum aggregator when summing integers will return an integer, and when summing doubles will return doubles.
Default implementation assumes there is ony one input, and output type is the same as input type.
Reimplemented in turi::groupby_operators::zip_list, turi::groupby_operators::zip_dict, turi::groupby_operators::non_null_count, turi::groupby_operators::count, turi::groupby_operators::argmax, and turi::groupby_operators::argmin.
Definition at line 102 of file group_aggregate_value.hpp.
|
inlinevirtual |
Returns true if the the aggregate_value can consume a column of this type, and false otherwise. (For instance, a sum aggregator can consume integers and floats, and not anything else).
Implements turi::group_aggregate_value.
Definition at line 58 of file aggregates.hpp.