17 static const uint8_t MASTER_TABLE_VERSION_NUMBER_NEWEST = 0xff;
19 uint16_t originating_centre = 0xffff;
20 uint16_t originating_subcentre = 0xffff;
21 uint8_t master_table_number = 0xff;
22 uint8_t master_table_version_number = 0xff;
23 uint8_t master_table_version_number_local = 0xff;
26 BufrTableID(uint16_t originating_centre, uint16_t originating_subcentre,
27 uint8_t master_table_number,
28 uint8_t master_table_version_number,
29 uint8_t master_table_version_number_local)
30 : originating_centre(originating_centre),
31 originating_subcentre(originating_subcentre),
32 master_table_number(master_table_number),
33 master_table_version_number(master_table_version_number),
34 master_table_version_number_local(master_table_version_number_local)
37 BufrTableID(
const BufrTableID&) =
default;
38 BufrTableID(BufrTableID&&) =
default;
39 BufrTableID& operator=(
const BufrTableID&) =
default;
40 BufrTableID& operator=(BufrTableID&&) =
default;
42 bool operator<(
const BufrTableID& o)
const;
43 bool operator==(
const BufrTableID& o)
const;
45 bool is_acceptable_replacement(
const BufrTableID&
id)
const;
46 bool is_acceptable_replacement(
const CrexTableID&
id)
const;
47 int closest_match(
const BufrTableID& first,
48 const BufrTableID& second)
const;
51 int closest_match(
const BufrTableID& first,
54 void print(FILE* out)
const;
65 static const uint8_t MASTER_TABLE_VERSION_NUMBER_NEWEST = 0xff;
67 uint8_t edition_number = 0xff;
68 uint16_t originating_centre = 0xffff;
69 uint16_t originating_subcentre = 0xffff;
70 uint8_t master_table_number = 0xff;
71 uint8_t master_table_version_number = 0xff;
72 uint8_t master_table_version_number_bufr = 0xff;
73 uint8_t master_table_version_number_local = 0xff;
76 CrexTableID(uint8_t edition_number, uint16_t originating_centre,
77 uint16_t originating_subcentre, uint8_t master_table_number,
78 uint8_t master_table_version_number,
79 uint8_t master_table_version_number_bufr,
80 uint8_t master_table_version_number_local)
81 : edition_number(edition_number),
82 originating_centre(originating_centre),
83 originating_subcentre(originating_subcentre),
84 master_table_number(master_table_number),
85 master_table_version_number(master_table_version_number),
86 master_table_version_number_bufr(master_table_version_number_bufr),
87 master_table_version_number_local(master_table_version_number_local)
90 CrexTableID(
const CrexTableID&) =
default;
91 CrexTableID(CrexTableID&&) =
default;
92 CrexTableID& operator=(
const CrexTableID&) =
default;
93 CrexTableID& operator=(CrexTableID&&) =
default;
95 bool operator<(
const CrexTableID& o)
const;
96 bool operator==(
const CrexTableID& o)
const;
98 bool is_acceptable_replacement(
const BufrTableID&
id)
const;
99 bool is_acceptable_replacement(
const CrexTableID&
id)
const;
102 int closest_match(
const CrexTableID& first,
103 const CrexTableID& second)
const;
105 const CrexTableID& second)
const;
107 void print(FILE* out)
const;