rasdaman client API 10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
oid.hh
Go to the documentation of this file.
1/*
2* This file is part of rasdaman community.
3*
4* Rasdaman community is free software: you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation, either version 3 of the License, or
7* (at your option) any later version.
8*
9* Rasdaman community is distributed in the hope that it will be useful,
10* but WITHOUT ANY WARRANTY; without even the implied warranty of
11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12* GNU General Public License for more details.
13*
14* You should have received a copy of the GNU General Public License
15* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16*
17* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18rasdaman GmbH.
19*
20* For more information please see <http://www.rasdaman.org>
21* or contact Peter Baumann via <baumann@rasdaman.com>.
22*/
23
24#ifndef D_OID_HH
25#define D_OID_HH
26
27#include <iosfwd>
28#include <string>
29
30//@ManMemo: Module: {\bf raslib}
38class r_OId
39{
40public:
42 r_OId() = default;
44 explicit r_OId(const char *);
46 r_OId(const char *initSystemName, const char *initBaseName, long long initLocalOId);
47 r_OId(const r_OId &) = default;
48 r_OId &operator=(const r_OId &o);
49
50 ~r_OId() = default;
51
53 void print_status(std::ostream &s) const;
54
55 //@Man: Comparison operators:
57
58 bool operator==(const r_OId &) const;
60 bool operator!=(const r_OId &) const;
62 bool operator>(const r_OId &) const;
64 bool operator<(const r_OId &) const;
66 bool operator>=(const r_OId &) const;
68 bool operator<=(const r_OId &) const;
70
72 const char *get_string_representation() const;
74 const char *get_system_name() const;
76 const char *get_base_name() const;
78 long long get_local_oid() const;
80 double get_local_oid_double() const;
82 bool is_valid() const;
83
84private:
86 std::string oidString;
88 std::string systemName;
90 std::string baseName;
92 long long localOId{};
93};
94
95//@ManMemo: Module: {\bf raslib}
99extern std::ostream &operator<<(std::ostream &s, const r_OId &oid);
100
101#endif
Class r_OId represents an object identifier.
Definition oid.hh:39
const char * get_string_representation() const
gets the oid's string representation
bool operator<(const r_OId &) const
operator for less than
~r_OId()=default
bool operator>(const r_OId &) const
operator for greater than
r_OId()=default
default constructor
const char * get_system_name() const
get system name
r_OId(const char *)
constructs an OId from the string representation
long long get_local_oid() const
get local oid
const char * get_base_name() const
get base name
r_OId(const r_OId &)=default
bool operator<=(const r_OId &) const
operator for less than or equal
bool operator!=(const r_OId &) const
operator for not equal
bool operator==(const r_OId &) const
operator for equality
r_OId(const char *initSystemName, const char *initBaseName, long long initLocalOId)
constructor getting oid parts
double get_local_oid_double() const
get local oid as double
bool operator>=(const r_OId &) const
operator for greater or equal than
r_OId & operator=(const r_OId &o)
bool is_valid() const
determines if oid is valid
void print_status(std::ostream &s) const
debug output
std::ostream & operator<<(std::ostream &s, const r_OId &oid)
Output stream operator for objects of type const r_Oid.