Agroeye  1.0
DatabaseTable.h
Go to the documentation of this file.
1 #ifndef DATABASETABLE_H
2 #define DATABASETABLE_H
3 
4 #include <vector>
5 #include <string>
6 #include <algorithm>
7 #include <iostream>
8 
9 #include "DatabaseErrors.h"
10 #include "DatabaseColumn.h"
11 
12 namespace agroeye {
13 namespace handlers {
14 
15 using ColumnIteratorConst = std::vector<DbColumn>::const_iterator;
20 class DbTable {
21 public:
26  DbTable(const std::string& name);
27 
32  std::string getName() const;
33 
38  size_t columnsCount() const;
39 
44  void addColumn(DbColumn column);
45 
50  ColumnIteratorConst begin() const;
51 
56  ColumnIteratorConst end() const;
57 
62  const DbColumn& getKeyColumn() const;
63 
64 private:
65  std::string name;
66  std::vector<DbColumn> columns;
67 
68 };
69 
70 } // namespace handlers
71 } // namespace agroeye
72 
73 #endif
void addColumn(DbColumn column)
Adds new column into table.
Definition: DatabaseTable.cpp:18
ColumnIteratorConst end() const
Gets the iterator to first column behind last.
Definition: DatabaseTable.cpp:36
std::vector< DbColumn >::const_iterator ColumnIteratorConst
Definition: DatabaseTable.h:15
Definition: ContainerMath.h:11
Encapsulation of Sqlite3/Spatialite table.
Definition: DatabaseColumn.h:25
Encapsulation of table in database.
Definition: DatabaseTable.h:20
DbTable(const std::string &name)
Constructor of empty table.
Definition: DatabaseTable.cpp:6
ColumnIteratorConst begin() const
Gets the iterator to first column.
Definition: DatabaseTable.cpp:32
const DbColumn & getKeyColumn() const
Gets the column with Primary Key.
Definition: DatabaseTable.cpp:40
std::string getName() const
Gets name of the table.
Definition: DatabaseTable.cpp:10
size_t columnsCount() const
Gets number of columns in table.
Definition: DatabaseTable.cpp:14