28 #ifndef CASA_QUANTUMHOLDER_H 29 #define CASA_QUANTUMHOLDER_H 32 #include <casacore/casa/aips.h> 33 #include <casacore/casa/Utilities/PtrHolder.h> 34 #include <casacore/casa/Utilities/RecordTransformable.h> 35 #include <casacore/casa/BasicSL/Complexfwd.h> 42 class RecordInterface;
44 template <
class Qtype>
class Quantum;
45 template <
class T>
class Vector;
46 template <
class T>
class Array;
const Quantum< Array< Float > > & asQuantumArrayFloat()
Bool isEmpty() const
Check if it holds a Quantity.
Base for Quantities (i.e. dimensioned values)
virtual Bool fromRecord(String &error, const RecordInterface &in)
Create a Quantum from a record or a string.
Bool isQuantumInt() const
Bool isQuantumDComplex() const
virtual Record toRecord() const
this version throws an exception or returns the result Record.
Bool isQuantumDouble() const
const Quantum< Vector< DComplex > > & asQuantumVectorDComplex()
QuantumHolder()
Creates an empty holder.
Bool isQuantumVectorInt() const
Hold and delete pointers not deleted by object destructors.
A holder for Quantums to enable record conversions.
Bool isQuantumArrayDouble() const
PtrHolder< QBase > hold_p
Pointer to a Quantity.
Bool isQuantumFloat() const
void toComplex(const uInt &tp)
Convert to a different complex scalar quantum.
const Quantum< Array< DComplex > > & asQuantumArrayDComplex()
Bool isQuantumVectorFloat() const
const Quantum< Float > & asQuantumFloat()
Bool isQuantumArrayComplex() const
const Quantum< Double > & asQuantity()
virtual const String & ident() const
Return identification.
void toReal(const uInt &tp)
Convert to a different real scalar quantum.
const Quantum< DComplex > & asQuantumDComplex()
const Quantum< Vector< Float > > & asQuantumVectorFloat()
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
const Quantum< Vector< Int > > & asQuantumVectorInt()
Bool isQuantumArrayDComplex() const
const Quantum< Array< Int > > & asQuantumArrayInt()
const Quantum< Array< Complex > > & asQuantumArrayComplex()
const Quantum< Vector< Double > > & asQuantumVectorDouble()
Bool isQuantumVectorComplex() const
virtual Bool fromString(String &error, const String &in)
Initialise the class from a String representation.
const Quantum< Array< Double > > & asQuantumArrayDouble()
QuantumHolder & operator=(const QuantumHolder &other)
Assignment (copy semantics)
Bool isQuantumVectorDouble() const
String: the storage and methods of handling collections of characters.
Bool isQuantumVectorDComplex() const
Bool isQuantumComplex() const
const Quantum< Vector< Complex > > & asQuantumVectorComplex()
Bool isQuantumArrayFloat() const
const QBase & asQuantum() const
Get a Quantum from the holder (with lifetime as long as holder exists).
Bool isQuantumArrayInt() const
const Quantum< Complex > & asQuantumComplex()
Abstract base class for Record classes.
void toVector()
Convert scalar to Vector.
const Quantum< Double > & asQuantumDouble()
const Quantum< Int > & asQuantumInt()
this file contains all the compiler specific defines
void toArray()
Convert scalar to Array.
Int nelements() const
Get number of numeric elements (1 if scalar, else vector length) or dimensions (0 if scalar) ...