Turi Create  4.0
summary_view.hpp
1 #ifndef _TC_SUMMARY_VIEW
2 #define _TC_SUMMARY_VIEW
3 
4 #include <core/data/flexible_type/flexible_type.hpp>
5 #include <core/parallel/lambda_omp.hpp>
6 
7 #include "transformation.hpp"
8 
9 namespace turi {
10 namespace visualization {
11 
12 class summary_view_transformation_output : public transformation_output {
13  private:
14  std::vector<std::shared_ptr<transformation_output>> m_outputs;
15  public:
16  std::vector<std::string> m_column_names;
17  std::vector<flex_type_enum> m_column_types;
18  size_t m_size;
19 
20  summary_view_transformation_output(const std::vector<std::shared_ptr<transformation_output>>& outputs, std::vector<std::string> column_names, std::vector<flex_type_enum> column_types, size_t size);
21  virtual std::string vega_column_data(bool sframe = false) const override;
22 };
23 
24 class summary_view_transformation : public transformation_base {
25  private:
26  std::vector<std::shared_ptr<transformation_base>> m_transformers;
27 
28  public:
29  std::vector<std::string> m_column_names;
30  std::vector<flex_type_enum> m_column_types;
31  size_t m_size;
32 
33  summary_view_transformation(const std::vector<std::shared_ptr<transformation_base>>& transformers, std::vector<std::string> column_names, std::vector<flex_type_enum> column_types, size_t size);
34 
35  virtual std::shared_ptr<transformation_output> get() override;
36  virtual bool eof() const override;
37  virtual size_t get_batch_size() const override;
38  virtual flex_int get_total_rows() const override;
39  virtual flex_int get_rows_processed() const override;
40 
41 };
42 
43 }
44 }
45 
46 
47 #endif