43 template<
class T>
class Array;
296 virtual DataType
type (
Int whichField)
const;
390 virtual void print (std::ostream&,
391 Int maxNrValues = 25,
392 const String& indent=
"")
const;
const Record & subRecord(const RecordFieldId &) const
Get the subrecord from the given field.
friend AipsIO & operator<<(AipsIO &os, const Record &rec)
Write the Record to an output stream.
RecordRep & rwRef()
Return a non-const reference to the underlying RecordRep.
A Vector of integers, for indexing into Array<T> objects.
virtual void print(std::ostream &, Int maxNrValues=25, const String &indent="") const
Print the contents of the record.
Record & rwSubRecord(const RecordFieldId &)
virtual void makeUnique()
Make a unique record representation (to do copy-on-write in RecordFieldPtr).
const RecordDesc & description() const
Describes the current structure of this Record.
RecordType
Define the flag telling if a Record has a fixed or variable structure.
IPosition shape(const RecordFieldId &) const
Get the actual shape of this field.
void putRecord(AipsIO &os) const
Write the Record to an output stream.
void defineRecord(const RecordFieldId &, const Record &value, RecordType type=Variable)
Define a value for the given field containing a subrecord.
virtual void defineFromValueHolder(const RecordFieldId &, const ValueHolder &)
void renameField(const String &newName, const RecordFieldId &)
Rename the given field.
virtual void setComment(const RecordFieldId &, const String &comment)
Set the comment for this field.
Record & operator=(const Record &other)
Copy the data in the other record to this record.
void mergeField(const Record &other, const RecordFieldId &, DuplicatesFlag=ThrowOnDuplicates)
Merge a field from another record into this record.
void merge(const Record &other, DuplicatesFlag=ThrowOnDuplicates)
Merge all fields from the other record into this record.
AipsIO is the object persistency mechanism of Casacore.
RecordRep * parent_p
The parent Record.
void removeField(const RecordFieldId &)
Remove a field from the record.
virtual DataType type(Int whichField) const
Get the data type of this field.
ostream & operator>>(ostream &is, MVTime &meas)
The representation of a Record.
const RecordRep & ref() const
Return a const reference to the underlying RecordRep.
virtual void defineDataField(Int whichField, DataType type, const void *value)
Define a value in the given field.
virtual const RecordInterface & asRecord(const RecordFieldId &) const
virtual RecordInterface & asrwRecord(const RecordFieldId &)
void getRecord(AipsIO &os)
Read the Record from an input stream.
virtual ValueHolder asValueHolder(const RecordFieldId &) const
Get or define the value as a ValueHolder.
virtual RecordDesc getDescription() const
Get the description of this record.
ostream & operator<<(ostream &os, const std::pair< T, U > &p)
virtual uInt nfields() const
How many fields does this structure have? A convenient synonym for description().nfields().
Record()
Create a record with no fields.
virtual void restructure(const RecordDesc &newDescription, Bool recursive=True)
Change the structure of this Record to contain the fields in newDescription.
Record has a fixed structure; that is, no fields can be added or removed once the Record is created...
virtual RecordInterface * clone() const
Make a copy of this object.
virtual void assign(const RecordInterface &that)
Assign that RecordInterface object to this one.
virtual Int fieldNumber(const String &fieldName) const
Get the field number from the field name.
The identification of a record field.
Description of the fields in a record object.
A holder for a value of any basic Casacore data type.
Record has a variable structure; after Record creation fields can be added or removed at will...
Copy-On-Write-Pointer class - allows control of copy based on constness.
virtual const String & comment(const RecordFieldId &) const
Get the comment for this field.
DuplicatesFlag
Define the Duplicates flag for the function merge in the various record classes.
void putData(AipsIO &os) const
Put the data of a record.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual void addDataField(const String &name, DataType type, const IPosition &shape, Bool fixedShape, const void *value)
Add a field to the record.
Bool conform(const Record &other) const
Returns True if this and other have the same RecordDesc, other than different names for the fields...
void getData(AipsIO &os, uInt version)
Read the data of a record.
virtual void * get_pointer(Int whichField, DataType type) const
Used by the RecordField classes to attach in a type-safe way to the correct field.
friend AipsIO & operator>>(AipsIO &os, Record &rec)
Read the Record from an input stream.
const RecordDesc & description() const
Describes the current structure of this Record.
RecordType & recordType()
Give access to the RecordType flag (write-access is needed when a record is read back).
String: the storage and methods of handling collections of characters.
COWPtr< RecordRep > rep_p
The Record representation.
Abstract base class for Record classes.
Bool CheckFieldFunction(const String &fieldName, DataType dataType, const void *extraArgument, String &message)
Define the signature of the add callback function.
virtual ~Record()
Release resources associated with this object.
Bool conform(const RecordRep &other) const
Returns True if this and other have the same RecordDesc, other than different names for the fields...
void putData(AipsIO &os) const
Put the data of a record.
void getData(AipsIO &os, uInt version)
Read the data of a record.
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.