It is possible to access an scalar an individual cell (i.e. table row) or in the entire column.
The main task of this class is to communicate with the data manager column object. This consists of:
The class is hidden from the user by the envelope class ScalarColumn. It used directly, it should be done with care. It assumes that the arrays in the various get and put functions have the correct length. ScalarColumn does that check.
Ask if the data manager can handle a column.
Ask if the data manager can handle some cells in a column.
Initialize the rows from startRownr till endRownr (inclusive) with the default value defined in the column description.
Test if the given cell contains a defined value.
Get the value from a particular cell.
Get the array of all values in the column. The length of the buffer pointed to by dataPtr must match the actual length. This is checked by ScalarColumn.
Get the array of some values in the column (on behalf of RefColumn). The length of the buffer pointed to by dataPtr must match the actual length. This is checked by ScalarColumn.
Put the value in a particular cell. The length of the buffer pointed to by dataPtr must match the actual length. This is checked by ScalarColumn.
Put the array of all values in the column. The length of the buffer pointed to by dataPtr must match the actual length. This is checked by ScalarColumn.
Put the array of some values in the column (on behalf on RefColumn). The length of the buffer pointed to by dataPtr must match the actual length. This is checked by ScalarColumn.
Add this column and its data to the Sort object. It may allocate some storage on the heap, which will be saved in the argument dataSave. The function freeSortKey must be called to free this storage.
Do it only for the given row numbers.
Add this column and its data to the Sort object. It may allocate some storage on the heap, which will be saved in the argument dataSave. The function freeSortKey must be called to free this storage.
Free storage on the heap allocated by makeSortkey(). The pointer will be set to zero.
Allocate value buffers for the table iterator. Also get a comparison function if undefined. The function freeIterBuf must be called to free the buffers.
Free the value buffers allocated by allocIterBuf.
Create a data manager column object for this column.
Copy constructor cannot be used.
Assignment cannot be used.
Write the column data. The control information is written into the given AipsIO object, while the data is written/flushed by the data manager.
Read the column data back. The control information is read from the given AipsIO object. This is used to bind the column to the appropriate data manager. Thereafter the data manager gets opened.
Fill in the sort key on behalf of the Table sort function. The pointer to the data (which can be allocated on the heap) is stored in dataPtr. This is used by freeSortKey to release it. It checks if a compare function is given when needed.