rasdaman client API 10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
scalar.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 Lesser 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 Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Copyright 2003 - 2010 Peter Baumann / rasdaman GmbH.
18 *
19 * For more information please see <http://www.rasdaman.org>
20 * or contact Peter Baumann via <baumann@rasdaman.com>.
21*/
22
23#ifndef _D_SCALAR_
24#define _D_SCALAR_
25
26#include <iosfwd>
27
28class r_Base_Type;
29
30//@ManMemo: Module: {\bf raslib}
43{
44public:
45 r_Scalar(const r_Base_Type *newType);
46 r_Scalar(const r_Scalar &obj);
47 virtual ~r_Scalar();
48
49 virtual r_Scalar *clone() const = 0;
50 const r_Scalar &operator=(const r_Scalar &);
51
52 virtual void print_status(std::ostream &s) const = 0;
53
54 virtual const r_Base_Type *get_type() const;
55
56 virtual bool isStructure() const;
57 virtual bool isComplex() const;
58 virtual bool isPrimitive() const;
59
60protected:
62};
63
64//@ManMemo: Module: {\bf raslib}
68extern std::ostream &operator<<(std::ostream &s, const r_Scalar &obj);
69
70#endif
This class is the superclass of the types r_Structure_Type and r_Primitive_Type in the representation...
Definition basetype.hh:40
Class r_Scalar represents a scalar type value which is either r_Primitive or r_Structure.
Definition scalar.hh:43
virtual ~r_Scalar()
virtual bool isComplex() const
virtual const r_Base_Type * get_type() const
virtual bool isPrimitive() const
r_Scalar(const r_Base_Type *newType)
const r_Scalar & operator=(const r_Scalar &)
virtual void print_status(std::ostream &s) const =0
r_Scalar(const r_Scalar &obj)
r_Base_Type * valueType
Definition scalar.hh:61
virtual r_Scalar * clone() const =0
virtual bool isStructure() const
std::ostream & operator<<(std::ostream &s, const r_Scalar &obj)
Output stream operator for objects of type const r_Scalar.