From c5431e4d321dbf0152e6826841c1ef5c1291ba5b Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 14 Jun 2022 15:38:50 +0300 Subject: Added files from project 2 (mirror) --- .../Project 2/src/Models/Table.h | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Project 2/src/Models/Table.h (limited to 'Year 1/Object-oriented Programming/Project 2/src/Models/Table.h') diff --git a/Year 1/Object-oriented Programming/Project 2/src/Models/Table.h b/Year 1/Object-oriented Programming/Project 2/src/Models/Table.h new file mode 100644 index 0000000..6dc07a3 --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/src/Models/Table.h @@ -0,0 +1,37 @@ +#ifndef MODELS_TABLE +#define MODELS_TABLE + +/*! \file Table.h + * \brief Stores the declaration of class Table + */ + +#include "Cell.h" +#include "../Generic/List/List.hpp" +#include + +/*! \brief A 2D collection of Cell instances + */ +class Table { + List> cells; + unsigned longestRow; + void readFromFile(std::ifstream& inFile); + +public: + Table(const char* filePath); + ~Table(); + + //! Returns count of rows + unsigned get_rows() const; + //! Returns largest count of columns in all rows + unsigned get_cols() const; + + //! Parses rawValue and replaces the value at row and col with it + void putCell(unsigned row, unsigned col, const char* rawValue); + + //! Returns a List of String with String representation of every cell in order + List getAllCells() const; + //! Saves all cells to a text file + void saveToFile(const char* filePath) const; +}; + +#endif -- cgit v1.3.1-23-gd82d