DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
vesselvmslikefpingsonlytable.h
Go to the documentation of this file.
1 #ifndef VESSELVMSLIKEFPINGSONLYTABLE_H
2 #define VESSELVMSLIKEFPINGSONLYTABLE_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 
12 #include <vector>
13 #include <string>
14 
15 using namespace sqlite;
16 
17 class COMMONSSHARED_EXPORT VesselVmsLikeFPingsOnlyTable : public sqlite::SQLiteTable
18 {
19 private:
20  struct Impl;
21  std::unique_ptr<Impl> p;
22 
23  void create();
24 public:
25  VesselVmsLikeFPingsOnlyTable(std::shared_ptr<sqlite::SQLiteStorage> db, std::string name);
26  ~VesselVmsLikeFPingsOnlyTable() noexcept;
27 
28  void dropAndCreate();
29 
30  struct Log {
31  int id;
32  int month;
33  int tstep;
34  int tstep_dep;
35  int nodeid;
36  int popid;
37  int szGroup;
38  double catches;
39  };
40 
41  void insertLog (const Log &log);
42  void queryAllVesselsAtStep (int tstep, std::function<bool(const Log &)>);
43  void deleteAllVesselsBeforeMonth (int month);
44 };
45 
46 #endif // VESSELVMSLIKEFPINGSONLYTABLE_H
Definition: vesselvmslikefpingsonlytable.h:30
int tstep_dep
Definition: vesselvmslikefpingsonlytable.h:34
Definition: vesselvmslikefpingsonlytable.cpp:11
int month
Definition: vesselvmslikefpingsonlytable.h:32
Definition: sqliteoutputstorage.h:33
int tstep
Definition: main.cpp:205
int popid
Definition: vesselvmslikefpingsonlytable.h:36
Definition: vesselvmslikefpingsonlytable.h:17
int id
Definition: vesselvmslikefpingsonlytable.h:31
double catches
Definition: vesselvmslikefpingsonlytable.h:38
int szGroup
Definition: vesselvmslikefpingsonlytable.h:37
int nodeid
Definition: vesselvmslikefpingsonlytable.h:35
int tstep
Definition: vesselvmslikefpingsonlytable.h:33
#define COMMONSSHARED_EXPORT
Definition: commons_global.h:23