- AtuInt
- AtInt
- AtFloat
- AtDouble
- AtBool
- AtString
- AtQuantity
- AtInvalid
Int i; if (AttValue::whatType(&i) != AttValue::AtInt) { throw(AipsError(String("Incorrect type identification in AttValue"))); }
This class defines the type-independent interface for Attribute values, and the type-dependent interface and implementation is provided in AttributeValue . This type independent interface allows comparison of Attributes of different types.
Copy constructor.
Destructor.
Copy assignment.
Get the type of the value stored.
Check for equality (and inequality) of two objects derived from AttributeValueBase. It is implemented in terms of the pure virtual method matches, which must be implemented in derived classes. The operator== only returns True if this->matches(other) and other.matches(*this) are both True. This guarantees that if a == b it follows that b == a (this is enforced this way because a and b can be classes derived differently from AttributeValueBase which can therefore have a different implementation of match()).
Return a new copy of the AttributeValueBase
Set/get the strictness state of this AttributeValue.
Add other to *this.
Return class name
Calculate whether *this matches other. Since the meaning of "match" can be different for different types, it is left to the derived class to define this method.
Set the type of the value stored.
Check that private data match