#include <RefRows.h>
Collaboration diagram for casa::RefRows:

Internal
RefRows is used to hold the row numbers forming a view on another table. It contains a vector which can hold the row numbers in 2 ways:
ScalarColumn::getColumnRange. isSliced()) and getting the row number vector directly (using rowVector()).
RefRows is meant to have one class representing the various ways of picking row numbers. This simplifies the interface of the table and data manager classes dealing with getting/putting the data.
Definition at line 84 of file RefRows.h.
Public Member Functions | |
| RefRows (const Vector< uInt > &rowNumbers, Bool isSliced=False, Bool collapse=False) | |
| Create the object from a Vector containing the row numbers. | |
| RefRows (uInt start, uInt end, uInt incr=1) | |
| Create the object from a single start,end,incr slice. | |
| RefRows (const RefRows &other) | |
| Copy constructor (reference semantics). | |
| RefRows & | operator= (const RefRows &other) |
| Assignment (copy semantics). | |
| ~RefRows () | |
| Bool | operator== (const RefRows &other) const |
| Do this and the other object reference the same rows? | |
| Vector< uInt > | convert (const Vector< uInt > &rootRownrs) const |
| Convert this object to a Vector<uInt> by applying the given row numbers. | |
| uInt | firstRow () const |
| Return the first row in the object. | |
| Bool | isSliced () const |
| Represents the vector a slice? | |
| const Vector< uInt > & | rowVector () const |
| Get the row vector as is (thus sliced if the object contains slices). | |
| uInt | nrows () const |
| Return the number of rows given by this object. | |
| uInt | nrow () const |
Private Member Functions | |
| uInt | fillNrows () const |
| Fill the itsNrows variable. | |
Private Attributes | |
| Vector< uInt > | itsRows |
| uInt | itsNrows |
| Bool | itsSliced |
| casa::RefRows::RefRows | ( | const Vector< uInt > & | rowNumbers, | |
| Bool | isSliced = False, |
|||
| Bool | collapse = False | |||
| ) |
Create the object from a Vector containing the row numbers.
When isSliced==False, the vector is treated as containing individual row numbers, otherwise as containing slices in the form start,end,incr. When collapse==True, it will try to collapse the individual row numbers to the slice form (to save memory).
Create the object from a single start,end,incr slice.
| casa::RefRows::RefRows | ( | const RefRows & | other | ) |
Copy constructor (reference semantics).
| casa::RefRows::~RefRows | ( | ) |
Do this and the other object reference the same rows?
Convert this object to a Vector<uInt> by applying the given row numbers.
It is used to convert the RefRows object with row numbers in a RefTable to row numbers in the original root table.
| uInt casa::RefRows::nrows | ( | ) | const [inline] |
Return the number of rows given by this object.
If the object contains slices, it counts the number of rows represented by each slice.
Definition at line 120 of file RefRows.h.
References fillNrows(), and itsNrows.
| uInt casa::RefRows::nrow | ( | ) | const [inline] |
| uInt casa::RefRows::firstRow | ( | ) | const [inline] |
| Bool casa::RefRows::isSliced | ( | ) | const [inline] |
| uInt casa::RefRows::fillNrows | ( | ) | const [private] |
Vector<uInt> casa::RefRows::itsRows [private] |
uInt casa::RefRows::itsNrows [private] |
Bool casa::RefRows::itsSliced [private] |
1.5.1