casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
casa::AttributeBuffer Class Reference

Buffer for storing Attributes. More...

#include <AttributeBuffer.h>

Public Member Functions

 AttributeBuffer ()
 Constructor of empty buffer. More...
 
 AttributeBuffer (const AttributeBuffer &other)
 Copy constructor. More...
 
const AttributeBufferoperator= (const AttributeBuffer &other)
 Assignement operator. More...
 
 ~AttributeBuffer ()
 Destructor. More...
 
casacore::Int nelements () const
 Return number of Attributes in the buffer. More...
 
void add (const AttributeBuffer &otherBuf)
 Define new Attributes. More...
 
void add (const Attribute &newAttribute, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::uInt newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 Add new Attributes. More...
 
void add (const casacore::String &name, const casacore::Int newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Float newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Double newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Bool newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::String &newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Quantity newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::uInt > &newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::Int > &newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::Float > &newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::Double > &newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::Bool > &newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::String > &newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, const casacore::Vector< casacore::Quantity > &newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::uInt *newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 Add new Attributes. More...
 
void add (const casacore::String &name, casacore::Int *newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Float *newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Double *newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Bool *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::String *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Quantity *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::uInt > *newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::Int > *newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::Float > *newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::Double > *newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::Bool > *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::String > *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void add (const casacore::String &name, casacore::Vector< casacore::Quantity > *newValue, const casacore::Bool strict=false, const casacore::Bool permanent=false)
 
void set (const AttributeBuffer &otherBuf)
 Set the value of an Attribute. More...
 
void set (const Attribute &newAttribute)
 
void set (const casacore::String &name, const casacore::uInt newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Int newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Float newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Double newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Bool newValue, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::String &newValue, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Quantity newValue, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::uInt > &newValue, const casacore::uInt tolerance=0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::Int > &newValue, const casacore::Int tolerance=0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::Float > &newValue, const casacore::Float tolerance=0.0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::Double > &newValue, const casacore::Double tolerance=0.0, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::Bool > &newValue, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::String > &newValue, const casacore::Bool strict=false)
 
void set (const casacore::String &name, const casacore::Vector< casacore::Quantity > &newValue, const casacore::Bool strict=false)
 
template<class T >
casacore::Bool getValue (const casacore::String &name, casacore::Vector< T > &value) const
 Get tha value of the named Attribute. More...
 
template<class T >
casacore::Bool getValue (const casacore::String &name, T &value) const
 
AttributegetAttribute (const casacore::String &name) const
 Get the pointer to the Attribute if it exists, else get 0. More...
 
AttributeValueBasegetAttributeValue (const casacore::String &name) const
 Get pointer to the AttributeValue if it exists, else get 0. More...
 
AttValue::ValueType getDataType (const casacore::String &name) const
 Get the data type of the Attribute. More...
 
casacore::Bool matches (const Attribute &res) const
 casacore::Function to see if Attribute res matches any Attribute in the AttributeBuffer *this. More...
 
casacore::Bool matches (const AttributeBuffer &resBuf) const
 casacore::Function to see if every Attribute in the AttributeBuffer resBuf matches every Attribute in the AttributeBuffer *this. More...
 
void operator+= (const AttributeBuffer &other)
 AttributeBuffer addition arithmetic. More...
 
void remove (const casacore::String &name)
 Remove Attributes from the AttributeBuffer. More...
 
void clear ()
 
casacore::Bool exists (const casacore::String &name) const
 Check if an Attribute with name name exists. More...
 
void addBuff (AttributeBuffer &other) const
 Add the Attributes of *this to other. More...
 
void setBuff (AttributeBuffer &other) const
 Set the Attributes of *this to other. More...
 

Private Member Functions

void addAttributeToBuffer (Attribute *newAttribute, const casacore::Bool permanent)
 Internal routine to add an Attribute to the Buffer. More...
 
casacore::Bool exists (const casacore::String &name, casacore::Int &found) const
 Check if an Attribute exists and return the index in the PtrBlock. More...
 
void erase ()
 Remove Attributes from the AttributeBuffer. More...
 

Private Attributes

casacore::PtrBlock< Attribute * > attributes
 casacore::PtrBlock for the Attributes. More...
 
casacore::Block< casacore::BoolnonDeletable
 Store if an Attribute is permamnent or not. More...
 

Friends

std::ostream & operator<< (std::ostream &, AttributeBuffer &)
 

Detailed Description

Buffer for storing Attributes.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Buffer for storing Attributes

Synopsis

A number of classes in the Display Library have Attributes (ie. 'things' that have a name and a value). An AttributeBuffer can be used to store these Attributes internally and do some simple operations, like checking if a certain Attribute exists etc. An AttributeBuffer has a 'fat' interface for creating Attributes and getting the value of them that hides most of the type issues and should make it less work for a programmer to handle Attributes.

AttributeBuffers can be used for a number of things. First, of course, they can be used to store and organize information. For example, a class can store its state parameters in an AttributeBuffer for its own convenience. By creating a userinterface to its AttributeBuffer, a class can create a standard interface to its state. One possibility here is that by using Attributes that are constructed using a pointer (see AttributeValuePoi or AttributeValuePoiTol) and by defining a userinterface in the class to modify the Attributes of that class, one automatically creates a direct userinterface to (some of) the internal variables of that class. This is used for example in the WorldCanvas. Another point is that Attributes can be defined with arbitrary name and on several types, so if a class has a userinterface to its AttributeBuffer, a programmer who uses that class can define what information is stored in the class at run time. For example, if one can register an event handler in a class A, one can store information in class A using the Attribute interface of class A. The event handler knows where to look for the information (namely in the object of class A it is registered in) so it can find it, while the class A does not have to know what kind (name, type,...) information is needed by the event handler, but it can still store it.

Another use of AttributeBuffer is that one can use it to store the state of something. Later in the program the new state can be compared with the old state using the matches member function of AttributeBuffer and the appropriate action can be taken. This is for example used in the ImageDDImage to decide whether a cache should be flushed or not. AttributeBuffers match if all their Attributes match. For the logic of matching Attributes, see Attributes. An example may make this clearer:

// We have an AttributeBuffer to store the old state:
AttributeBuffer oldState;
// and store some state information
oldState.add("stateVar1", state1);
oldState.add("stateVar2", state2);
oldState.add("stateVar3", state3);
.
.
.
// later in the program we want to check if the current state matches the
// old state
// AttributeBuffer for the new state
AttributeBuffer newState;
// and store state (state1, state2 or state3 may have changed)
newState.add("stateVar1", state1);
newState.add("stateVar2", state2);
newState.add("stateVar3", state3);
// now the new an old state can be compared
if { newState.matches(oldState) }
use my cache
} else {
delete the cache and make new one
}

A similar application of AttributeBuffers is the way they are used by the WorldCanvasHolder and the DisplayData (and Animator) to define what data is displayed on a canvas. To define what is displayed, one sets a number of Attributes on the WorldCanvasHolder (where they are called restrictions and they are stored in an AttributeBuffer) and possibly a number of Attributes on the DisplayData (where they are also called restrictions and also stored in an AttributeBuffer). Some DisplayData have already pre-defined restrictions (like the ImageDisplayData), but the program can add to these at run time. When a refresh of the WorldCanvas happens, only those data are displayed for which the buffer of the DisplayData matches that of the WorldCanvasHolder. This gives a very easy to use way of defining what is displayed, and this is how for example the Animator works (one simply changes some restrictions and do a refresh). See Animator for examples.

AttributeBuffers can also be used for passing information in a compact and generic way. This is used eg. by the WorldCanvasHolder in the sizeControl event handling. The WorldCanvasHolder does not have to know what information is passed and eg. what type it is. The code there looks like:

casacore::Bool WorldCanvasHolder::sizeControlEH(WorldCanvas *wCanvas)
AttributeBuffer sizeControlAtts;
// rewind the casacore::List of DisplayDatas registered withe this WorldCanvasHolder
displayListIter->toStart();
// temp
DisplayData *dData;
// loop over DisplayDatas that are registered
while (!displayListIter->atEnd()) {
// get DisplayData from casacore::List and let this displaydata do its sizeControl
dData = (DisplayData *) displayListIter->getRight();
if (!dData->sizeControl(*this, sizeControlAtts)) {
// something is very wrong so abort refresh
return false;
}
// next DisplayData
displayListIter++;
}
// copy the Attributes set by the DisplayData to the WorldCanvas
// We don't know what is being set, but we can still set it...\.
wCanvas->setAttributes(sizeControlAtts);
// things went ok
return true;
}

Example

Motivation

For efficient handling of all the Attributes that a class in the Display Library can have, a buffer is needed, with an interface that makes handling of Attributes relatively easy.

Definition at line 196 of file AttributeBuffer.h.

Constructor & Destructor Documentation

casa::AttributeBuffer::AttributeBuffer ( )

Constructor of empty buffer.

casa::AttributeBuffer::AttributeBuffer ( const AttributeBuffer other)

Copy constructor.

Copy semantics.

casa::AttributeBuffer::~AttributeBuffer ( )

Destructor.

Member Function Documentation

void casa::AttributeBuffer::add ( const AttributeBuffer otherBuf)

Define new Attributes.

If an Attribute of the same name exists, nothing happens. If permanent == true, the Attribute cannot be deleted from the Buffer.

void casa::AttributeBuffer::add ( const Attribute newAttribute,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::uInt  newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)

Add new Attributes.

For type casacore::uInt, casacore::Int, casacore::Float and casacore::Double, the Attribute has tolerance (see AttributeValueTol), for casacore::Bool and casacore::String it has not (obviously). strict defines how Attribute match. See AttributeValue for the explanation of strict

void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Int  newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Float  newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Double  newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Bool  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::String newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Quantity  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::uInt > &  newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::Int > &  newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::Float > &  newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::Double > &  newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::Bool > &  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::String > &  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
const casacore::Vector< casacore::Quantity > &  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::uInt newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)

Add new Attributes.

These are the pointer versions. Using these members will create Attributes based on AttributeValueTol or AttributeValuePoiTol. This means that if the Attribute is modified, the variable used to define the Attribute also changes and vice versa.

void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Int newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Float newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Double newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Bool newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::String newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Quantity newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::uInt > *  newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::Int > *  newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::Float > *  newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::Double > *  newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::Bool > *  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::String > *  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::add ( const casacore::String name,
casacore::Vector< casacore::Quantity > *  newValue,
const casacore::Bool  strict = false,
const casacore::Bool  permanent = false 
)
void casa::AttributeBuffer::addAttributeToBuffer ( Attribute newAttribute,
const casacore::Bool  permanent 
)
private

Internal routine to add an Attribute to the Buffer.

void casa::AttributeBuffer::addBuff ( AttributeBuffer other) const

Add the Attributes of *this to other.

void casa::AttributeBuffer::clear ( )
void casa::AttributeBuffer::erase ( )
private

Remove Attributes from the AttributeBuffer.

Also erases Attributes that are permanent. Only used in operator=.

casacore::Bool casa::AttributeBuffer::exists ( const casacore::String name) const

Check if an Attribute with name name exists.

Referenced by casa::DisplayData::conformsToZIndex().

casacore::Bool casa::AttributeBuffer::exists ( const casacore::String name,
casacore::Int found 
) const
private

Check if an Attribute exists and return the index in the PtrBlock.

Attribute* casa::AttributeBuffer::getAttribute ( const casacore::String name) const

Get the pointer to the Attribute if it exists, else get 0.

AttributeValueBase* casa::AttributeBuffer::getAttributeValue ( const casacore::String name) const

Get pointer to the AttributeValue if it exists, else get 0.

AttValue::ValueType casa::AttributeBuffer::getDataType ( const casacore::String name) const

Get the data type of the Attribute.

template<class T >
casacore::Bool casa::AttributeBuffer::getValue ( const casacore::String name,
casacore::Vector< T > &  value 
) const

Get tha value of the named Attribute.

Returns true for success, and false for failure. This can happen if the caller asked for the wrong type.

Referenced by casa::DisplayData::conformsToZIndex().

template<class T >
casacore::Bool casa::AttributeBuffer::getValue ( const casacore::String name,
T &  value 
) const
casacore::Bool casa::AttributeBuffer::matches ( const Attribute res) const

casacore::Function to see if Attribute res matches any Attribute in the AttributeBuffer *this.

casacore::Bool casa::AttributeBuffer::matches ( const AttributeBuffer resBuf) const

casacore::Function to see if every Attribute in the AttributeBuffer resBuf matches every Attribute in the AttributeBuffer *this.

Returns true if this is the case, returns false if for at least one Attribute in resBuf there is a mismatch.

casacore::Int casa::AttributeBuffer::nelements ( ) const

Return number of Attributes in the buffer.

void casa::AttributeBuffer::operator+= ( const AttributeBuffer other)

AttributeBuffer addition arithmetic.

Go through *this buffer, and for those Attributes who have equivalents in other, sum the values.

const AttributeBuffer& casa::AttributeBuffer::operator= ( const AttributeBuffer other)

Assignement operator.

void casa::AttributeBuffer::remove ( const casacore::String name)

Remove Attributes from the AttributeBuffer.

Only works on Attributes that are not permanent

void casa::AttributeBuffer::set ( const AttributeBuffer otherBuf)

Set the value of an Attribute.

If the Attribute does not exist, it is created (using the corresponding add function with permanent set to false), otherwise the value of the existing Attribute, if it is of the correct type) will be changed. If the Attribute has a different type than the variable used in the set function, nothing happens (but I may change my mind and throw an exception).

void casa::AttributeBuffer::set ( const Attribute newAttribute)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::uInt  newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Int  newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Float  newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Double  newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Bool  newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::String newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Quantity  newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::uInt > &  newValue,
const casacore::uInt  tolerance = 0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::Int > &  newValue,
const casacore::Int  tolerance = 0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::Float > &  newValue,
const casacore::Float  tolerance = 0.0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::Double > &  newValue,
const casacore::Double  tolerance = 0.0,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::Bool > &  newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::String > &  newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::set ( const casacore::String name,
const casacore::Vector< casacore::Quantity > &  newValue,
const casacore::Bool  strict = false 
)
void casa::AttributeBuffer::setBuff ( AttributeBuffer other) const

Set the Attributes of *this to other.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
AttributeBuffer  
)
friend

Member Data Documentation

casacore::PtrBlock<Attribute *> casa::AttributeBuffer::attributes
private

casacore::PtrBlock for the Attributes.

Should change this to a list

Definition at line 445 of file AttributeBuffer.h.

casacore::Block<casacore::Bool> casa::AttributeBuffer::nonDeletable
private

Store if an Attribute is permamnent or not.

Definition at line 448 of file AttributeBuffer.h.


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