casacore
Loading...
Searching...
No Matches
casacore::LELArrayRef< T > Class Template Reference

This LEL class holds a possible referenced array with a mask. More...

#include <LELArray.h>

Public Member Functions

 LELArrayRef (const IPosition &shape)
 Constructor takes shape.
 ~LELArrayRef ()
const Array< T > & value () const
 Get value.
Public Member Functions inherited from casacore::LELArray< T >
 LELArray (const Array< T > &value)
 Constructor takes value.
 LELArray (const Array< T > &value, const Array< Bool > &mask)
 Constructor takes value and mask.
 LELArray (const IPosition &shape)
 Constructor takes shape.
 LELArray (const LELArray< T > &other)
 Copy constructor (reference semantics).
 ~LELArray ()
LELArray< T > & operator= (const LELArray< T > &other)
 Assignment (reference semantics).
const IPositionshape () const
 Get shape (of the value).
const Array< T > & value () const
 Get value.
Array< T > & value ()
Public Member Functions inherited from casacore::LELArrayBase
 LELArrayBase ()
 Default constructor sets to mask all true.
 LELArrayBase (const Array< Bool > &mask)
 Constructor takes mask.
 LELArrayBase (const LELArrayBase &other)
 Copy constructor (reference semantics).
 ~LELArrayBase ()
LELArrayBaseoperator= (const LELArrayBase &other)
 Assignment (reference semantics).
Bool isMasked () const
 Does the value have a mask?
const Array< Bool > & mask () const
 Get mask.
Array< Bool > & mask ()
void removeMask ()
 Remove the mask.
void setMask (const Array< Bool > &other)
 Set the mask from given array (takes reference).
void setMask (const LELArrayBase &other)
 Set the mask from the mask of the other value.
void setMask (Array< Bool > &other)
 Set the mask from given array (takes reference).
void setMask (const LELArrayBase &left, const LELArrayBase &right)
 Set the mask by combining the masks of both values.
void combineMask (const LELArrayBase &other)
 Combine the mask of this and the other value (by anding them).
void combineMask (const Array< Bool > &mask)
void combineOrAnd (Bool desiredValue, const Array< Bool > &value)
 Combine the mask with the given value in case of an OR or AND.
void combineOrAnd (Bool desiredValue, Array< Bool > &value, const Array< Bool > &temp)
 Combine for two arrays taking the true/false array values into account.
void combineOrAnd (Bool desiredValue, Array< Bool > &value, const Array< Bool > &temp, const Array< Bool > &tempMask)
 Combine for two arrays taking the true/false array values and mask into account.

Private Member Functions

 LELArrayRef (const LELArrayRef< T > &other)
 Copy constructor is not needed.
LELArrayRef< T > & operator= (const LELArrayRef< T > &other)
 Assignment is not needed.

Detailed Description

template<class T>
class casacore::LELArrayRef< T >

This LEL class holds a possible referenced array with a mask.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Synopsis

This LEL class is derived from LELArray. Its purpose is to provide only const access to the array value, so the array can be a reference to another array. It is meant for optimization, so references can safely be used when evaluating a subexpression.

Motivation

It makes it possible to use the function evalRef in a safe way. It would be unsafe to use a LELArray object, because that gives non-const access to the value.

Definition at line 130 of file LELArray.h.

Constructor & Destructor Documentation

◆ LELArrayRef() [1/2]

template<class T>
casacore::LELArrayRef< T >::LELArrayRef ( const IPosition & shape)
inline

Constructor takes shape.

Its mask is set to all True.

Definition at line 135 of file LELArray.h.

References casacore::LELArray< T >::LELArray(), and casacore::LELArray< T >::shape().

Referenced by LELArrayRef(), and operator=().

◆ ~LELArrayRef()

template<class T>
casacore::LELArrayRef< T >::~LELArrayRef ( )
inline

Definition at line 138 of file LELArray.h.

◆ LELArrayRef() [2/2]

template<class T>
casacore::LELArrayRef< T >::LELArrayRef ( const LELArrayRef< T > & other)
private

Copy constructor is not needed.

References LELArrayRef().

Member Function Documentation

◆ operator=()

template<class T>
LELArrayRef< T > & casacore::LELArrayRef< T >::operator= ( const LELArrayRef< T > & other)
private

Assignment is not needed.

References LELArrayRef().

◆ value()

template<class T>
const Array< T > & casacore::LELArrayRef< T >::value ( ) const
inline

Get value.

Definition at line 142 of file LELArray.h.

References casacore::LELArray< T >::value().


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