Turi Create  4.0
turi::groupby_operators::distinct Class Reference

#include <core/storage/sframe_data/groupby_aggregate_operators.hpp>

Public Member Functions

group_aggregate_valuenew_instance () const override
 Returns a new empty instance of sum with the same type.
 
flexible_type emit () const override
 Emits the zip result.
 
std::string name () const override
 Name of the class.
 
void add_element_simple (const flexible_type &flex)
 
void combine (const group_aggregate_value &other)
 combines two partial zip
 
bool support_type (flex_type_enum type) const
 The types supported by the zip.
 
void save (oarchive &oarc) const
 Serializer.
 
void load (iarchive &iarc)
 Deserializer.
 
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
 

Detailed Description

Implements an aggregator that keeps track of the unique elements

Definition at line 1277 of file groupby_aggregate_operators.hpp.

Member Function Documentation

◆ add_element()

virtual void turi::group_aggregate_value::add_element ( const std::vector< flexible_type > &  values)
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.

◆ add_element_simple()

void turi::groupby_operators::count_distinct::add_element_simple ( const flexible_type flex)
inlinevirtualinherited

Adds an element to the aggregate. Simple version of add_element where there is only one input value for the operator

Implements turi::group_aggregate_value.

Definition at line 1231 of file groupby_aggregate_operators.hpp.

◆ partial_finalize()

virtual void turi::group_aggregate_value::partial_finalize ( )
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.

◆ print()

virtual void turi::group_aggregate_value::print ( std::ostream &  os) const
inlinevirtualinherited

Override this function for allowing the operator to be easily printed.

std::cout << aggregator <<s std::endl;

Reimplemented in turi::groupby_operators::variance.

Definition at line 134 of file group_aggregate_value.hpp.

◆ set_input_types()

virtual flex_type_enum turi::group_aggregate_value::set_input_types ( const std::vector< flex_type_enum > &  types)
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.


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