Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Project 2 / src / Models / Table.h
diff options
context:
space:
mode:
Commitc5431e4d321dbf0152e6826841c1ef5c1291ba5b (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-06-14 15:38:50 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-06-14 15:38:50 +0300
Filesbe7dbd4b6188924bb3a1a9398169526f236b09b9 /Year 1/Object-oriented Programming/Project 2/src/Models/Table.h
uni-projects-c5431e4d321dbf0152e6826841c1ef5c1291ba5b.tar
uni-projects-c5431e4d321dbf0152e6826841c1ef5c1291ba5b.tar.gz
uni-projects-c5431e4d321dbf0152e6826841c1ef5c1291ba5b.zip
Parentccedf6f5d89f375580ff6af40296aab953f9cd09 (diff)
Added files from project 2 (mirror)
1 files changed, 37 insertions, 0 deletions
-rw-r--r--Year 1/Object-oriented Programming/Project 2/src/Models/Table.h37
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 <fstream>
+
+/*! \brief A 2D collection of Cell instances
+ */
+class Table {
+ List<List<Cell*>> 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<String> getAllCells() const;
+ //! Saves all cells to a text file
+ void saveToFile(const char* filePath) const;
+};
+
+#endif