6 #ifndef TURI_SFRAME_GROUP_AGGREGATE_VALUE_HPP 7 #define TURI_SFRAME_GROUP_AGGREGATE_VALUE_HPP 9 #include <core/data/flexible_type/flexible_type.hpp> 104 return set_input_type(types[0]);
110 virtual std::string
name()
const = 0;
134 virtual void print(std::ostream& os)
const {
135 os << this->
name() <<
"(value = " << this->
emit() <<
")";
159 #endif // TURI_SFRAME_GROUP_AGGREGATE_VALUE_HPP
virtual void print(std::ostream &os) const
The serialization input archive object which, provided with a reference to an istream, will read from the istream, providing deserialization capabilities.
virtual flexible_type emit() const =0
virtual bool support_type(flex_type_enum type) const =0
virtual void partial_finalize()
virtual void add_element_simple(const flexible_type &flex)=0
virtual void combine(const group_aggregate_value &other)=0
virtual group_aggregate_value * new_instance() const =0
virtual flex_type_enum set_input_types(const std::vector< flex_type_enum > &types)
std::shared_ptr< group_aggregate_value > get_builtin_group_aggregator(const std::string &)
std::set< T > values(const std::map< Key, T > &map)
virtual void add_element(const std::vector< flexible_type > &values)
virtual ~group_aggregate_value()
The serialization output archive object which, provided with a reference to an ostream, will write to the ostream, providing serialization capabilities.
virtual std::string name() const =0
#define DASSERT_TRUE(cond)
virtual void load(iarchive &iarc)=0
virtual void save(oarchive &oarc) const =0