rasdaman base DBMS
ulongtype.hh
Go to the documentation of this file.
1 // -*-C++-*- (for Emacs)
2 
3 /*
4 * This file is part of rasdaman community.
5 *
6 * Rasdaman community is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * Rasdaman community is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
20 rasdaman GmbH.
21 *
22 * For more information please see <http://www.rasdaman.org>
23 * or contact Peter Baumann via <baumann@rasdaman.com>.
24 */
25 /*************************************************************
26  *
27  *
28  * PURPOSE:
29  * The ULongType class is the superclass for all classes
30  * describing the type of a cell
31  *
32  *
33  * COMMENTS:
34  * This file is patched by O2!
35  *
36  ************************************************************/
37 
38 #ifndef _ULONGTYPE_HH_
39 #define _ULONGTYPE_HH_
40 
41 #include <iostream>
42 #include "uintegraltype.hh"
43 #include "catalogmgr/ops.hh"
44 #include "reladminif/oidif.hh"
45 
46 //@ManMemo: Module: {\bf relcatalogif}.
47 
48 /*@Doc:
49 ULongType is the base type used for 32bit unsigned integer cell
50 values. The value of a ULong is stored in four chars.
51 */
52 
56 class ULongType : public UIntegralType
57 {
58 public:
59  ULongType(const OId& id) throw (r_Error);
60 
61  ULongType();
62  /*@Doc:
63  default constructor, sets type name to "ULong".
64  */
65 
66  ULongType(const ULongType& old);
67  /*@Doc:
68  copy constructor.
69  */
70 
71  ULongType& operator=(const ULongType& old);
72  /*@Doc:
73  assignment operator.
74  */
75 
76  virtual ~ULongType();
77  /*@Doc:
78  virtual destructor.
79  */
80 
81  virtual void printCell(ostream& stream, const char* cell) const;
82  /*@Doc:
83  */
84 
85  virtual r_ULong* convertToCULong(const char* cell, r_ULong* value) const;
86  /*@Doc:
87  */
88 
89  virtual char* makeFromCULong(char* cell, const r_ULong* value) const;
90  /*@Doc:
91  */
92 
93  static const char* Name;
94 
95 protected:
96 
97  virtual void readFromDb() throw (r_Error);
98  /*@Doc:
99  initializes the attributes of this type.
100  there is no database activity. this is hard coded.
101  */
102 };
103 
104 #endif
virtual ~ULongType()
virtual void readFromDb()
ULongType & operator=(const ULongType &old)
virtual r_ULong * convertToCULong(const char *cell, r_ULong *value) const
Definition: oidif.hh:67
Definition: ulongtype.hh:56
Definition: uintegraltype.hh:54
static const char * Name
Definition: ulongtype.hh:93
virtual char * makeFromCULong(char *cell, const r_ULong *value) const
virtual void printCell(ostream &stream, const char *cell) const