casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Attributes | Private Member Functions
casa::TableMeasColumn Class Reference

Read only access to table scalar Measure columns. More...

#include <TableMeasColumn.h>

Inheritance diagram for casa::TableMeasColumn:
casa::ArrayMeasColumn< M > casa::ScalarMeasColumn< M >

List of all members.

Public Member Functions

 TableMeasColumn ()
 The default constructor creates a null object.
 TableMeasColumn (const Table &tab, const String &columnName)
 Create the ScalarMeasColumn from the table and column Name.
 TableMeasColumn (const TableMeasColumn &that)
 Copy constructor (copy semantics).
virtual ~TableMeasColumn ()
void reference (const TableMeasColumn &that)
 Change the reference to another column.
void attach (const Table &tab, const String &columnName)
 Attach another column to the object.
Bool isDefined (uInt rownr) const
 Tests if a row contains a Measure (i.e., if the row has a defined value).
const TableMeasDescBasemeasDesc () const
 Get access to the TableMeasDescBase describing the column.
TableMeasDescBasemeasDesc ()
Bool isNull () const
 Test if the object is null.
void throwIfNull () const
 Throw an exception if the object is null.
const StringcolumnName () const
 Get the name of the column.
Table table () const
 Get the Table object this column belongs to.
Bool isScalar () const
 Is the column a scalar measures column? It is if the underlying column is a scalar column or an array column with a fixed 1-dimensional shape.

Protected Attributes

uInt itsNvals
CountedPtr< TableMeasDescBaseitsDescPtr
TableColumn itsTabDataCol
Bool itsVarRefFlag
Bool itsVarOffFlag

Private Member Functions

TableMeasColumnoperator= (const TableMeasColumn &that)
 Assignment makes no sense in a readonly class.

Detailed Description

Read only access to table scalar Measure columns.

Intended use:

Public interface

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1999/12/23
Test programs:
tTableMeasures

Prerequisite

Synopsis

TableMeasColumn is the base class for the templated classes ScalarMeasColumn and ArrayMeasColumn which give access to table columns containing measures .

This base class offers some common functionality like getting the column name and testing if a row of the column contains a value. Its main function is measDesc(), which gives access to the TableMeasDescBase object containing a description of the measure column.

Example

        // Create the object for measure column Time1.
        TableMeasColumn timeCol(tab, "Time1");
        
        // print some details about the column
        if (timeCol.measDesc().isRefCodeVariable()) {
           cout << "The column has variable references." << endl;
        } else {
            cout << "The fixed MeasRef for the column is: "
                << timeCol.getMeasRef() << endl;
        }

Motivation

This class contains the common functionality for the templated derived classes.

Definition at line 97 of file TableMeasColumn.h.


Constructor & Destructor Documentation

The default constructor creates a null object.

Useful for creating arrays of ScalarMeasColumn objects. Attempting to use a null object will produce a segmentation fault so care needs to be taken to initialise the objects first by using attach(). An ScalarMeasColumn object can be tested if it is null by using the isNull() member.

casa::TableMeasColumn::TableMeasColumn ( const Table tab,
const String columnName 
)

Create the ScalarMeasColumn from the table and column Name.

Copy constructor (copy semantics).


Member Function Documentation

void casa::TableMeasColumn::attach ( const Table tab,
const String columnName 
)

Get the name of the column.

Tests if a row contains a Measure (i.e., if the row has a defined value).

Bool casa::TableMeasColumn::isNull ( ) const [inline]

Test if the object is null.

Definition at line 135 of file TableMeasColumn.h.

References itsDescPtr, and casa::SimpleCountedConstPtr< t >::null().

Is the column a scalar measures column? It is if the underlying column is a scalar column or an array column with a fixed 1-dimensional shape.


Otherwise it is an array measures column.
Caution: It is not 100% determined if a measure column is an array or a scalar; If the underlying table column is an array with a variable shape, this function will see it as an array measure column; However, it might be accessible as a scalar measure column;

Get access to the TableMeasDescBase describing the column.

Definition at line 128 of file TableMeasColumn.h.

References itsDescPtr.

Definition at line 130 of file TableMeasColumn.h.

References itsDescPtr.

TableMeasColumn& casa::TableMeasColumn::operator= ( const TableMeasColumn that) [private]

Assignment makes no sense in a readonly class.

Declaring this operator private makes it unusable.

Change the reference to another column.

Get the Table object this column belongs to.

Throw an exception if the object is null.


Member Data Documentation

Definition at line 163 of file TableMeasColumn.h.

Referenced by isNull(), and measDesc().

Definition at line 161 of file TableMeasColumn.h.

Definition at line 165 of file TableMeasColumn.h.

Definition at line 168 of file TableMeasColumn.h.

Definition at line 167 of file TableMeasColumn.h.


The documentation for this class was generated from the following file: