DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
nodestariffstattable.h
Go to the documentation of this file.
1 #ifndef POPTARIFFSTATTABLE_H
2 #define POPTARIFFSTATTABLE_H
3 
4 #include "commons_global.h"
5 #include "idtypes.h"
6 
7 #include <functional>
8 
9 #include "sqlitefielddef.h"
10 #include "sqlitetable.h"
11 using namespace sqlite;
12 
13 #include <vector>
14 #include <string>
15 #include <map>
16 
17 class Node;
18 
19 class COMMONSSHARED_EXPORT NodesTariffStatTable : public SQLiteTable
20 {
21 private:
22  struct Impl;
23 
24  std::unique_ptr<Impl> p;
25 
26  FieldDef<FieldType::Integer> fldTStep = makeFieldDef("TStep",FieldType::Integer()).notNull();
27  FieldDef<FieldType::Integer> fldNodeId = makeFieldDef("NodeId",FieldType::Integer()).notNull();
28 
29  FieldDef<FieldType::Real> tariffAll = makeFieldDef("TariffAll",FieldType::Real()).notNull();
30  FieldDef<FieldType::Real> tariffPop = makeFieldDef("TariffPop",FieldType::Real()).notNull();
31  FieldDef<FieldType::Real> tariffBenthos = makeFieldDef("TariffBenthos",FieldType::Real()).notNull();
32 
33  inline void init();
34 public:
35  NodesTariffStatTable(std::shared_ptr<sqlite::SQLiteStorage> db, std::string name);
36  ~NodesTariffStatTable() noexcept;
37  void dropAndCreate();
38 
39  bool insert (int tstep, Node *node);
40 
41  struct NodeTariffStat {
43  int tstep;
44  double tariffall;
45  double tariffpop;
46  double tariffbenthos;
47  };
48  void queryAllNodesAtStep(int tstep, std::function<bool(NodeTariffStat stat)>);
49 };
50 
51 #endif // POPTARIFFSTATTABLE_H
types::NodeId nodeId
Definition: nodestariffstattable.h:42
Definition: nodestariffstattable.cpp:9
Definition: Node.h:39
Definition: sqliteoutputstorage.h:33
double tariffbenthos
Definition: nodestariffstattable.h:46
Definition: idtypes.h:52
int tstep
Definition: main.cpp:205
double tariffpop
Definition: nodestariffstattable.h:45
int tstep
Definition: nodestariffstattable.h:43
Definition: nodestariffstattable.h:41
Definition: nodestariffstattable.h:19
double tariffall
Definition: nodestariffstattable.h:44
#define COMMONSSHARED_EXPORT
Definition: commons_global.h:23