libwreport  3.40
dtable.h
1 #ifndef WREPORT_DTABLE_H
2 #define WREPORT_DTABLE_H
3 
4 #include <filesystem>
5 #include <string>
6 #include <vector>
7 #include <wreport/opcodes.h>
8 
9 namespace wreport {
10 
14 class DTable
15 {
16 public:
17  virtual ~DTable();
18 
20  [[deprecated("Use path() instead")]] virtual std::string
21  pathname() const = 0;
22 
32  virtual Opcodes query(Varcode var) const = 0;
33 
35  virtual std::filesystem::path path() const = 0;
36 
43  static const DTable* load_bufr(const std::string& pathname);
44 
51  static const DTable* load_crex(const std::string& pathname);
52 };
53 
54 } // namespace wreport
55 
56 #endif
static const DTable * load_crex(const std::string &pathname)
Return a CREX D table, by file name.
virtual std::string pathname() const =0
Return the pathname of the file from which this table has been loaded.
static const DTable * load_bufr(const std::string &pathname)
Return a BUFR D table, by file name.
uint16_t Varcode
Holds the WMO variable code of a variable.
Definition: fwd.h:12
Sequence of opcodes, as a slice of a Varcode vector.
Definition: opcodes.h:19
virtual Opcodes query(Varcode var) const =0
Query the DTable.
virtual std::filesystem::path path() const =0
Return the pathname of the file from which this table has been loaded.
String functions.
Definition: benchmark.h:13
BUFR/CREX table D with Dxxyyy aggregate code expansions.
Definition: dtable.h:14