22 char* value =
nullptr;
26 Ident(
const char* value);
32 Ident& operator=(
const char* o);
33 Ident& operator=(
const std::string& o);
34 const char*
get()
const {
return value; }
36 int compare(
const Ident& o)
const;
37 int compare(
const char* o)
const;
38 int compare(
const std::string& o)
const;
39 template<
typename T>
bool operator==(
const T& o)
const {
return compare(o) == 0; }
40 template<
typename T>
bool operator!=(
const T& o)
const {
return compare(o) != 0; }
41 template<
typename T>
bool operator<(
const T& o)
const {
return compare(o) < 0; }
42 template<
typename T>
bool operator<=(
const T& o)
const {
return compare(o) <= 0; }
43 template<
typename T>
bool operator>(
const T& o)
const {
return compare(o) > 0; }
44 template<
typename T>
bool operator>=(
const T& o)
const {
return compare(o) >= 0; }
46 bool is_missing()
const {
return value ==
nullptr; }
48 operator const char*()
const {
return value; }
49 operator std::string()
const;
52 std::ostream& operator<<(std::ostream& out,
const Coords& c);
53 std::ostream& operator<<(std::ostream& out,
const Date& dt);
54 std::ostream& operator<<(std::ostream& out,
const Time& t);
55 std::ostream& operator<<(std::ostream& out,
const Datetime& dt);
56 std::ostream& operator<<(std::ostream& out,
const DatetimeRange& dtr);
57 std::ostream& operator<<(std::ostream& out,
const LatRange& lr);
58 std::ostream& operator<<(std::ostream& out,
const LonRange& lr);
59 std::ostream& operator<<(std::ostream& out,
const Level& l);
60 std::ostream& operator<<(std::ostream& out,
const Trange& l);
61 std::ostream& operator<<(std::ostream& out,
const Ident& i);
Common base types used by most of DB-All.e code.
Calendar date.
Definition: types.h:24
Coordinates.
Definition: types.h:320
Information on how a value has been sampled or computed with regards to time.
Definition: types.h:565
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
Vertical level or layer.
Definition: types.h:515
A station identifier, that can be any string (including the empty string) or a missing value...
Definition: core/defs.h:19
Range of datetimes.
Definition: types.h:255
Range of latitudes.
Definition: types.h:390
Time of the day.
Definition: types.h:89
Date and time.
Definition: types.h:147
Range of longitudes.
Definition: types.h:464