1 #ifndef WREPORT_TABLEDIR_H
2 #define WREPORT_TABLEDIR_H
4 #include <wreport/tableinfo.h>
17 std::string btable_id;
18 std::string btable_pathname;
19 std::string dtable_id;
20 std::string dtable_pathname;
22 Table(
const std::string& dirname,
const std::string& filename);
25 virtual void print_id(FILE* out)
const;
34 :
Table(dirname, filename), id(
id) {}
36 void print_id(FILE* out)
const override;
45 :
Table(dirname, filename), id(
id) {}
47 void print_id(FILE* out)
const override;
56 std::vector<Table*> tables;
58 Dir(
const std::string& pathname);
63 Dir& operator=(
const Dir&) =
delete;
72 std::vector<std::string> dirs;
Definition: tabledir.h:70
void add_directory(const std::string &dir)
Add a table directory to this collection.
void explain_find_crex(const CrexTableID &id, FILE *out)
Print the step by step process by which a table is selected for id.
void print(FILE *out)
Print a list of all tables found.
void explain_find_bufr(const BufrTableID &id, FILE *out)
Print the step by step process by which a table is selected for id.
void add_default_directories()
Add the default directories according to compile-time and environment variables.
Indexed version of a table directory.
Definition: tabledir.h:53
Information about a version of a CREX table.
Definition: tabledir.h:41
Information about a version of a BUFR table.
Definition: tabledir.h:30
Identifying information for one distinct instance of BUFR tables.
Definition: tableinfo.h:14
static Tabledirs & get()
Get the default tabledir instance.
Identifying information for one distinct instance of CREX tables.
Definition: tableinfo.h:44
const tabledir::Table * find(const std::string &basename)
Find a BUFR or CREX table by file name.
const tabledir::Table * find_bufr(const BufrTableID &id)
Find a BUFR table.
Definition: tabledir.h:16
void refresh()
Reread the directory contents if it has changed.
String functions.
Definition: benchmark.h:13
const tabledir::Table * find_crex(const CrexTableID &id)
Find a CREX table.