30 #ifndef CASA_RECORDFIELD_H
31 #define CASA_RECORDFIELD_H
118 template<
class T>
class RecordFieldPtr :
public NoticeTarget
136 RecordFieldPtr<T>&
operator= (
const RecordFieldPtr<T>& other);
145 void attachToRecord (RecordInterface& record,
const RecordFieldId&);
283 DataType
type,
const void*)
289 DataType,
const Table*)
297 return parent->
get_pointer (fieldNumber, TpRecord,
"Record");
303 return parent->
get_pointer (fieldNumber, TpRecord,
"TableRecord");
311 #ifndef CASACORE_NO_AUTO_TEMPLATES
312 #include <casacore/casa/Containers/RecordField.tcc>
313 #endif //# CASACORE_NO_AUTO_TEMPLATES
RecordFieldPtr< T > & operator=(const RecordFieldPtr< T > &other)
void detach()
Point to no field in any Record.
Main interface class to a read/write table.
RecordFieldPtr()
This object does not point to any field, i.e.
RecordFieldPtr< T > fieldPtr_p
void attachToRecord(RecordInterface &record, Int whichField)
Change our pointer to the supplied field.
void define(const T &value)
Store a value in the field using redefinition.
virtual casacore::String type() const
Implements RegionShape::type.
String name() const
Return the name of the field.
void setComment(const String &comment)
Set the comment for this field.
void attachToRecord(const RecordInterface &record, const RecordFieldId &id)
Int fieldNumber() const
Return the fieldnumber of this field.
RORecordFieldPtr< T > & operator=(const RORecordFieldPtr< T > &other)
virtual void notify(const Notice &message)
Not important for users - the mechanism by which field pointers are notified when there is a change i...
The identification of a record field.
Access to an individual field in a record.
const String & comment() const
Get the comment of this field.
virtual void defineDataField(Int whichField, DataType type, const void *value)=0
Define a data field (for RecordFieldPtr).
RORecordFieldPtr(const RecordFieldPtr< T > &other)
T & operator*()
Provide access to the field's value.
void attachToRecord(const RecordInterface &record, Int whichField)
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
abstract base class for notices
Bool isAttached() const
Is this field pointer attached to a valid record? Operations which might cause it to become detached ...
RORecordFieldPtr(const RecordInterface &record, Int whichField)
A hierarchical collection of named fields of various types.
void * attachRecordFieldPtr(RecordInterface *parent, Int fieldNumber, DataType type, const void *)
This function attaches a RecordFieldPtr object.
Bool isAttached() const
Returns a boolean value telling whether this NoticeTarget is still attached to a NoticeSource or not...
RecordInterface * parent_p
const T & operator*() const
RORecordFieldPtr(const RORecordFieldPtr< T > &other)
const String & comment() const
String: the storage and methods of handling collections of characters.
RORecordFieldPtr(const RecordInterface &record, const RecordFieldId &id)
virtual void * get_pointer(Int whichField, DataType type) const =0
Used by the RecordFieldPtr classes to attach to the correct field.
Abstract base class for Record classes.
Read-Only access to an individual field from a Record.
const T & operator*() const
void defineRecordFieldPtr(RecordInterface *parent, Int fieldNumber, DataType type, const void *value)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
String name(const RecordFieldId &) const
Get the name of this field.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.