casacore
Loading...
Searching...
No Matches
StManColumnBase.h
Go to the documentation of this file.
1//# StManColumnBase.h: Base storage manager column class
2//# Copyright (C) 2019
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: casa-feedback@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25
26#ifndef TABLES_STMANCOLUMNBASE_H
27#define TABLES_STMANCOLUMNBASE_H
28
29
30//# Includes
31#include <casacore/casa/aips.h>
32#include <casacore/tables/DataMan/DataManagerColumn.h>
33#include <casacore/casa/Arrays/ArrayFwd.h>
34#include <casacore/casa/Utilities/DataType.h>
35
36namespace casacore { //# NAMESPACE CASACORE - BEGIN
37
38// <summary>
39// Base table column storage manager class
40// </summary>
41
42// <use visibility=local>
43
44// <reviewed reviewer="Gareth Hunt" date="94Nov17" tests="">
45// </reviewed>
46
47// <prerequisite>
48//# Classes you should understand before using this one.
49// <li> DataManagerColumn
50// </prerequisite>
51
52// <etymology>
53// StManColumnBase is the base class for a storage manager.
54// </etymology>
55
56// <synopsis>
57// StManColumnBase is the abstract base class to handle a column in all
58// kind of storage managers. It is derived from DataManagerColumn
59// and implements a few (virtual) functions handling the column's
60// data type for derived storage manager column classes.
61// </synopsis>
62
63// <todo asof="$DATE:$">
64//# A List of bugs, limitations, extensions or planned refinements.
65// </todo>
66
67
69{
70public:
71
72 // Default constructor.
74
76
77 // The object cannot be copied.
79
80 // The object cannot be assigned to.
82
83 // Test if the given data type is supported by storage managers.
84 // It is used by the function Table::isNativeDataType.
86
87 // Return the data type of the column.
88 // <group>
89 virtual int dataType() const;
90 DataType dtype() const
91 { return dtype_p; }
92 // </group>
93
94 // Return the size of an element of the column's data type.
95 Int elemSize() const
96 { return elemSize_p; }
97
98private:
99 // The data type of the column.
100 DataType dtype_p;
101 // The size of an element of this data type.
103};
104
105
106
107
108} //# NAMESPACE CASACORE - END
109
110#endif
Int elemSize_p
The size of an element of this data type.
StManColumnBase(const StManColumnBase &)=delete
The object cannot be copied.
virtual int dataType() const
Return the data type of the column.
StManColumnBase(int dataType)
Default constructor.
DataType dtype_p
The data type of the column.
StManColumnBase & operator=(const StManColumnBase &)=delete
The object cannot be assigned to.
Int elemSize() const
Return the size of an element of the column's data type.
static Bool isNativeDataType(int dtype)
Test if the given data type is supported by storage managers.
this file contains all the compiler specific defines
Definition mainpage.dox:28
int Int
Definition aipstype.h:48
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40