|
| TabVecRep () |
| Create empty table vector.
|
|
virtual | ~TabVecRep () |
| Destruct the object.
|
|
uInt | ndim () const |
| Get nr of dimensions.
|
|
rownr_t | nelements () const |
| Get nr of elements (ie.
|
|
Bool | conform (const TabVecRep< T > &) const |
| Test if vector shape conforms another table vector.
|
|
Bool | conform (const Vector< T > &) const |
| Test if vector shape conforms another vector.
|
|
Bool | ok () const |
| Check internal consistency.
|
|
TabVecRep< T > * | link () |
| Increments the reference count.
|
|
uInt | unlink () |
| Decrements the reference count and returns the resulting count.
|
|
TabVecTag | getTag () const |
| Get the tag (the type of vector).
|
|
virtual T | value (rownr_t index) const =0 |
| Get a value.
|
|
virtual void | getVal (rownr_t index, T &) const =0 |
| Get a value.
|
|
virtual void | putVal (rownr_t index, const T &)=0 |
| Put a value.
|
|
virtual void | set (const T &)=0 |
| Set entire vector to a value.
|
|
virtual void | assign (const TabVecRep< T > &) |
| Set to another table vector.
|
|
void | validateConformance (rownr_t) const |
| Check if vectors are comformant.
|
|
void * | newVec () const |
| Create a new temporary vector (for result of math operations).
|
|
template<class T>
class casacore::TabVecRep< T >
Templated base class for table vectors.
Intended use:
Internal
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Etymology
TabVecRep is the representation of a table vector.
Synopsis
TabVecRep is the counted referenced letter class for the envelope class TableVector. It is an abstract base class for the actual table vector classes TabVecScaCol and TabVecTemp.
All operations defined for TableVector are immediately passed to the corresponding virtual TabVecRep function. The header files TVecMath.h and TVecLogic.h declare all the mathematical and logical functions for TabVecRep.
Motivation
A virtual function call only works when used with an object pointer or reference. To allow the use of virtual functions in value objects, an extra level of indirection is used. This is called the letter/envelope idiom and is described in "Advanced C++" by J. Coplien. Class TableVector is the envelope to the letters TabVecRep and its derivations.
To Do
-
put the TabVecTag enum inside the class definition
-
support array columns
Definition at line 105 of file TVec.h.