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 
28 class r_Base_Type;
29 
30 //@ManMemo: Module: {\bf raslib}
42 class r_Scalar
43 {
44 public:
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 
60 protected:
62 };
63 
64 //@ManMemo: Module: {\bf raslib}
68 extern std::ostream &operator<<(std::ostream &s, const r_Scalar &obj);
69 
70 #endif
r_Scalar::valueType
r_Base_Type * valueType
Definition: scalar.hh:61
r_Scalar::isPrimitive
virtual bool isPrimitive() const
r_Base_Type
This class is the superclass of the types r_Structure_Type and r_Primitive_Type in the representation...
Definition: basetype.hh:39
r_Scalar::r_Scalar
r_Scalar(const r_Base_Type *newType)
r_Scalar::operator=
const r_Scalar & operator=(const r_Scalar &)
r_Scalar::isStructure
virtual bool isStructure() const
operator<<
std::ostream & operator<<(std::ostream &s, const r_Scalar &obj)
Output stream operator for objects of type const r_Scalar.
r_Scalar::print_status
virtual void print_status(std::ostream &s) const =0
r_Scalar
Class r_Scalar represents a scalar type value which is either r_Primitive or r_Structure.
Definition: scalar.hh:42
r_Scalar::clone
virtual r_Scalar * clone() const =0
r_Scalar::get_type
virtual const r_Base_Type * get_type() const
r_Scalar::isComplex
virtual bool isComplex() const
r_Scalar::~r_Scalar
virtual ~r_Scalar()