#pragma once #include "parser.h" #include "row.h" #include // TODO make it a class struct Table { // public: Table(const Table& other); Table(const std::string name, const std::vector columns); ColDefNode get_column_def(const std::string& col_name); int columns_count() { return m_col_defs.size(); }; Row createEmptyRow(); // TODO this means unnecessary copying void addRow(const Row &row); void print(); // private: std::string m_name; std::vector m_col_defs; std::vector m_rows; };