libdballe  9.11
shortcuts.h
1 #ifndef DBALLE_CORE_SHORTCUTS_H
2 #define DBALLE_CORE_SHORTCUTS_H
3 
4 #include <dballe/types.h>
5 #include <wreport/varinfo.h>
6 #include <iosfwd>
7 
8 namespace dballe {
9 namespace impl {
10 
11 struct Shortcut
12 {
13  bool station_data;
14  Level level;
15  Trange trange;
16  wreport::Varcode code;
17 
18  static const Shortcut& by_name(const char* name);
19  static const Shortcut& by_name(const std::string& name);
20  static const Shortcut& by_name(const char* name, unsigned len);
21 
22  bool operator==(const Shortcut& o) const { return std::tie(station_data, level, trange, code) == std::tie(o.station_data, o.level, o.trange, o.code); }
23 };
24 
25 std::ostream& operator<<(std::ostream& out, const Shortcut& shortcut);
26 
27 
28 namespace sc {
29 
30 extern const Shortcut st_type;
31 extern const Shortcut st_name;
32 extern const Shortcut st_name_icao;
33 extern const Shortcut rep_memo;
34 extern const Shortcut report;
35 extern const Shortcut network;
36 extern const Shortcut poll_lcode;
37 extern const Shortcut poll_scode;
38 extern const Shortcut poll_gemscode;
39 extern const Shortcut poll_source;
40 extern const Shortcut poll_atype;
41 extern const Shortcut poll_ttype;
42 extern const Shortcut flight_reg_no;
43 extern const Shortcut flight_phase;
44 extern const Shortcut flight_roll;
45 extern const Shortcut navsys;
46 extern const Shortcut data_relay;
47 extern const Shortcut wind_inst;
48 extern const Shortcut temp_precision;
49 extern const Shortcut latlon_spec;
50 extern const Shortcut timesig;
51 extern const Shortcut block;
52 extern const Shortcut station;
53 extern const Shortcut ident;
54 extern const Shortcut year;
55 extern const Shortcut month;
56 extern const Shortcut day;
57 extern const Shortcut hour;
58 extern const Shortcut minute;
59 extern const Shortcut second;
60 extern const Shortcut latitude;
61 extern const Shortcut longitude;
62 extern const Shortcut height_station;
63 extern const Shortcut height_baro;
64 extern const Shortcut height_release;
65 extern const Shortcut station_height_quality;
66 extern const Shortcut isobaric_surface;
67 extern const Shortcut st_dir;
68 extern const Shortcut st_speed;
69 extern const Shortcut meas_equip_type;
70 extern const Shortcut sonde_type;
71 extern const Shortcut sonde_method;
72 extern const Shortcut sonde_correction;
73 extern const Shortcut sonde_tracking;
74 extern const Shortcut press;
75 extern const Shortcut press_3h;
76 extern const Shortcut press_24h;
77 extern const Shortcut water_temp;
78 extern const Shortcut height_anem;
79 extern const Shortcut press_tend;
80 extern const Shortcut visibility;
81 extern const Shortcut pres_wtr;
82 extern const Shortcut past_wtr1_3h;
83 extern const Shortcut past_wtr1_6h;
84 extern const Shortcut past_wtr2_3h;
85 extern const Shortcut past_wtr2_6h;
86 extern const Shortcut metar_wtr;
87 extern const Shortcut tot_prec1;
88 extern const Shortcut tot_prec3;
89 extern const Shortcut tot_prec6;
90 extern const Shortcut tot_prec12;
91 extern const Shortcut tot_prec24;
92 extern const Shortcut tot_snow;
93 extern const Shortcut state_ground;
94 extern const Shortcut press_msl;
95 extern const Shortcut qnh;
96 extern const Shortcut temp_2m;
97 extern const Shortcut wet_temp_2m;
98 extern const Shortcut dewpoint_2m;
99 extern const Shortcut humidity;
100 extern const Shortcut wind_dir;
101 extern const Shortcut wind_speed;
102 extern const Shortcut wind_gust_max_speed;
103 extern const Shortcut wind_gust_max_dir;
104 extern const Shortcut ex_ccw_wind;
105 extern const Shortcut ex_cw_wind;
106 extern const Shortcut cloud_n;
107 extern const Shortcut cloud_nh;
108 extern const Shortcut cloud_hh;
109 extern const Shortcut cloud_cl;
110 extern const Shortcut cloud_cm;
111 extern const Shortcut cloud_ch;
112 extern const Shortcut cloud_n1;
113 extern const Shortcut cloud_c1;
114 extern const Shortcut cloud_h1;
115 extern const Shortcut cloud_n2;
116 extern const Shortcut cloud_c2;
117 extern const Shortcut cloud_h2;
118 extern const Shortcut cloud_n3;
119 extern const Shortcut cloud_c3;
120 extern const Shortcut cloud_h3;
121 extern const Shortcut cloud_n4;
122 extern const Shortcut cloud_c4;
123 extern const Shortcut cloud_h4;
124 
125 }
126 }
127 }
128 
129 #endif
Common base types used by most of DB-All.e code.
Information on how a value has been sampled or computed with regards to time.
Definition: types.h:686
Definition: cmdline.h:18
Vertical level or layer.
Definition: types.h:624
uint16_t Varcode
Definition: shortcuts.h:11