casa
5.7.0-16
|
#include <VisBufferImpl2Internal.h>
Public Types | |
typedef T | DataType |
typedef void(VisBufferImpl2::* | Filler )(T &) const |
Public Member Functions | |
VbCacheItem (bool isMutable=false) | |
virtual | ~VbCacheItem () |
virtual void | appendRows (casacore::Int, casacore::Bool) |
virtual void | clear (casacore::Bool clearStatusOnly) |
virtual void | clearDirty () |
virtual void | copyRowElement (casacore::Int, casacore::Int) |
virtual void | fill () const |
const T & | get () const |
T & | getRef (casacore::Bool fillIfAbsent=true) |
void | initialize (VisBufferCache *cache, VisBufferImpl2 *vb, Filler filler, VisBufferComponent2 component=VisBufferComponent2::Unknown, casacore::Bool isKey=true) |
casacore::Bool | isArray () const |
casacore::Bool | isDirty () const |
casacore::Bool | isPresent () const |
virtual casacore::Bool | isShapeOk () const |
virtual void | set (const T &newItem) |
template<typename U > | |
void | set (const U &newItem) |
template<typename U > | |
void | setSpecial (const U &newItem) |
virtual void | setDirty () |
virtual casacore::String | shapeErrorMessage () const |
Public Member Functions inherited from casa::vi::VbCacheItemBase | |
VbCacheItemBase (bool isMutable) | |
virtual | ~VbCacheItemBase () |
VisBufferComponent2 | getComponent () const |
virtual void | resize (casacore::Bool) |
virtual void | resizeRows (casacore::Int) |
Protected Member Functions | |
void | assign (T &lhs, const T &rhs) |
virtual void | copy (const VbCacheItemBase *otherRaw, casacore::Bool fetchIfNeeded) |
virtual void copy (const VbCacheItemBase * otherRaw, casacore::Bool markAsCached) { Convert generic pointer to one pointint to this cache item type. More... | |
void | copyAux (const VbCacheItem< T, IsComputed > *other, bool fetchIfNeeded) |
T & | getItem () const |
void | setAsPresent (casacore::Bool isPresent=true) const |
Protected Member Functions inherited from casa::vi::VbCacheItemBase | |
VisBufferImpl2 * | getVb () const |
virtual void | initialize (VisBufferCache *cache, VisBufferImpl2 *vb, VisBufferComponent2 component, casacore::Bool isKey=true) |
casacore::Bool | isKey () const |
bool | isMutable () const |
void | setIsKey (casacore::Bool isKey) |
Static Protected Member Functions | |
template<typename E > | |
static void | clearValue (casacore::Array< E > &value) |
static void | clearValue (casacore::Int &value) |
static void | clearValue (casacore::MDirection &value) |
Private Attributes | |
Filler | filler_p |
casacore::Bool | isDirty_p |
casacore::Bool | isPresent_p |
T | item_p |
Friends | |
class | VisBufferImpl2 |
Definition at line 109 of file VisBufferImpl2Internal.h.
typedef T casa::vi::VbCacheItem< T, IsComputed >::DataType |
Definition at line 115 of file VisBufferImpl2Internal.h.
typedef void(VisBufferImpl2::* casa::vi::VbCacheItem< T, IsComputed >::Filler)(T &) const |
Definition at line 116 of file VisBufferImpl2Internal.h.
|
inline |
Definition at line 118 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Definition at line 122 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Noop for scalars
Implements casa::vi::VbCacheItemBase.
Reimplemented in casa::vi::VbCacheItemArray< T, IsComputed >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::SquareMatrix< casacore::Complex, 2 > >, true >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::MDirection > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Array< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Int > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Complex > >, and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >.
Definition at line 124 of file VisBufferImpl2Internal.h.
|
inlineprotected |
Definition at line 300 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::set().
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 130 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 140 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::clear().
|
inlinestaticprotected |
Definition at line 306 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::clear().
|
inlinestaticprotected |
Definition at line 310 of file VisBufferImpl2Internal.h.
|
inlinestaticprotected |
Definition at line 314 of file VisBufferImpl2Internal.h.
|
inlineprotectedvirtual |
virtual void
copy (const VbCacheItemBase * otherRaw, casacore::Bool markAsCached) { Convert generic pointer to one pointint to this cache item type.
const VbCacheItem * other = dynamic_cast <const VbCacheItem *> (otherRaw); Assert (other != 0);
Capture the cached status of the other item
isPresent_p = other->isPresent_p;
If the other item was cached then copy it over otherwise clear out this item.
if (isPresent_p){ item_p = other->item_p; } else { item_p = T ();
if (markAsCached){ isPresent_p = true; } } }
Implements casa::vi::VbCacheItemBase.
Definition at line 348 of file VisBufferImpl2Internal.h.
|
inlineprotected |
Definition at line 356 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::copy().
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Reimplemented in casa::vi::VbCacheItemArray< T, IsComputed >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::SquareMatrix< casacore::Complex, 2 > >, true >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::MDirection > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Array< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Int > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Complex > >, and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >.
Definition at line 145 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 149 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::get(), and casa::vi::VbCacheItem< casacore::Int >::getRef().
|
inline |
Definition at line 166 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::copyAux().
|
inlineprotected |
Definition at line 375 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::appendRows(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::copyRowElement(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::getShape(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::isShapeOk(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::resize(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::resizeRows(), and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::shapeErrorMessage().
|
inline |
Caller is getting a modifiabled reference to the datum (otherwise they would use "get"): assume that it will be used to modify the datum and mark it as dirty.
Definition at line 178 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VisBufferCache::sortCorrelationItem().
|
inline |
Definition at line 196 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::initialize().
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Reimplemented in casa::vi::VbCacheItemArray< T, IsComputed >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::SquareMatrix< casacore::Complex, 2 > >, true >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::MDirection > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Array< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Int > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Complex > >, and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >.
Definition at line 204 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 210 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 216 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::copyAux(), casa::vi::VbCacheItem< casacore::Int >::get(), casa::vi::VbCacheItem< casacore::Int >::getRef(), casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::set(), casa::vi::VbCacheItem< casacore::Int >::setAsPresent(), and casa::vi::VisBufferCache::sortCorrelationItem().
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Reimplemented in casa::vi::VbCacheItemArray< T, IsComputed >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::SquareMatrix< casacore::Complex, 2 > >, true >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::MDirection > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Array< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Int > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Complex > >, and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >.
Definition at line 222 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::set().
|
inlinevirtual |
Set operations to a rekeyable VB are allowed to change the shapes of the values. When T derives from casacore::Array, the assign method will use casacore::Array::assign which resizes the destination value to match the source value. For nonkeyable VBs, the normal operator= method is used which for Arrays will throw an exception when a shape incompatibility exists between the source and destination.
Reimplemented in casa::vi::VbCacheItemArray< T, IsComputed >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::SquareMatrix< casacore::Complex, 2 > >, true >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::casacore::MDirection > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Array< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Int > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Double > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Bool > >, casa::vi::VbCacheItemArray< casacore::casacore::Matrix< casacore::Float > >, casa::vi::VbCacheItemArray< casacore::casacore::Cube< casacore::Complex > >, and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >.
Definition at line 228 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::copyAux(), and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::set().
|
inline |
Definition at line 257 of file VisBufferImpl2Internal.h.
|
inlineprotectedvirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 381 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::appendRows(), casa::vi::VbCacheItem< casacore::Int >::clear(), casa::vi::VbCacheItem< casacore::Int >::copyAux(), casa::vi::VbCacheItem< casacore::Int >::get(), casa::vi::VbCacheItem< casacore::Int >::getRef(), casa::vi::VbCacheItem< casacore::Int >::set(), and casa::vi::VbCacheItem< casacore::Int >::setSpecial().
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 284 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::resizeRows().
|
inline |
For internal use for items which aren't really demand-fetched
Definition at line 274 of file VisBufferImpl2Internal.h.
|
inlinevirtual |
Implements casa::vi::VbCacheItemBase.
Definition at line 290 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::set(), and casa::vi::VbCacheItemArray< casacore::casacore::Vector< casacore::uInt > >::set().
|
friend |
Definition at line 111 of file VisBufferImpl2Internal.h.
|
private |
Definition at line 388 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::fill(), and casa::vi::VbCacheItem< casacore::Int >::initialize().
|
mutableprivate |
Definition at line 389 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::clearDirty(), casa::vi::VbCacheItem< casacore::Int >::copyAux(), casa::vi::VbCacheItem< casacore::Int >::get(), casa::vi::VbCacheItem< casacore::Int >::getRef(), casa::vi::VbCacheItem< casacore::Int >::isDirty(), casa::vi::VbCacheItem< casacore::Int >::set(), casa::vi::VbCacheItem< casacore::Int >::setDirty(), and casa::vi::VbCacheItem< casacore::Int >::setSpecial().
|
mutableprivate |
Definition at line 390 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::isPresent(), and casa::vi::VbCacheItem< casacore::Int >::setAsPresent().
|
mutableprivate |
Definition at line 391 of file VisBufferImpl2Internal.h.
Referenced by casa::vi::VbCacheItem< casacore::Int >::clear(), casa::vi::VbCacheItem< casacore::Int >::copyAux(), casa::vi::VbCacheItem< casacore::Int >::fill(), casa::vi::VbCacheItem< casacore::Int >::get(), casa::vi::VbCacheItem< casacore::Int >::getItem(), casa::vi::VbCacheItem< casacore::Int >::getRef(), casa::vi::VbCacheItem< casacore::Int >::set(), and casa::vi::VbCacheItem< casacore::Int >::setSpecial().