casacore
Loading...
Searching...
No Matches
Record.h File Reference
#include <casacore/casa/aips.h>
#include <casacore/casa/Arrays/ArrayFwd.h>
#include <casacore/casa/Containers/RecordInterface.h>
#include <casacore/casa/Containers/RecordRep.h>
#include <casacore/casa/Containers/RecordDesc.h>
#include <casacore/casa/Utilities/COWPtr.h>

Go to the source code of this file.

Namespaces

namespace  casacore
 this file contains all the compiler specific defines

Functions

 casacore::Record ()
 
 casacore::Record (RecordType type, CheckFieldFunction *=0, const void *checkArgument=0)
 Create a record with no fields.
 casacore::Record (const RecordDesc &description, RecordType type=Fixed, CheckFieldFunction *=0, const void *checkArgument=0)
 Create a record with the given description.
 casacore::Record (const Record &other)
 Create a copy of other using copy semantics.
 casacore::Record (const RecordInterface &other)
 Create a Record from another type of record using copy semantics.
Recordcasacore::operator= (const Record &other)
 Copy the data in the other record to this record.
 casacore::~Record ()
 Release resources associated with this object.
RecordInterfacecasacore::clone () const override
 Make a copy of this object.
void casacore::assign (const RecordInterface &that) override
 Assign that RecordInterface object to this one.
const Stringcasacore::comment (const RecordFieldId &) const override
 Get the comment for this field.
void casacore::setComment (const RecordFieldId &, const String &comment) override
 Set the comment for this field.
const RecordDesccasacore::description () const
 Describes the current structure of this Record.
void casacore::restructure (const RecordDesc &newDescription, Bool recursive=True) override
 Change the structure of this Record to contain the fields in newDescription.
Bool casacore::conform (const Record &other) const
 Returns True if this and other have the same RecordDesc, other than different names for the fields.
uInt casacore::nfields () const override
 How many fields does this structure have?
Int casacore::fieldNumber (const String &fieldName) const override
 Get the field number from the field name.
DataType casacore::type (Int whichField) const override
 Get the data type of this field.
void casacore::removeField (const RecordFieldId &) override
 Remove a field from the record.
void casacore::renameField (const String &newName, const RecordFieldId &)
 Rename the given field.
void casacore::defineRecord (const RecordFieldId &, const Record &value, RecordType type=Variable)
 Define a value for the given field containing a subrecord.
void casacore::defineRecord (const RecordFieldId &, const RecordInterface &value, RecordType=Variable) override
const Recordcasacore::subRecord (const RecordFieldId &) const
 Get the subrecord from the given field.
Recordcasacore::rwSubRecord (const RecordFieldId &)
const RecordInterfacecasacore::asRecord (const RecordFieldId &) const override
RecordInterfacecasacore::asrwRecord (const RecordFieldId &) override
ValueHolder casacore::asValueHolder (const RecordFieldId &) const override
 Get or define the value as a ValueHolder.
void casacore::defineFromValueHolder (const RecordFieldId &, const ValueHolder &) override
void casacore::mergeField (const Record &other, const RecordFieldId &, DuplicatesFlag=ThrowOnDuplicates)
 Merge a field from another record into this record.
void casacore::merge (const Record &other, DuplicatesFlag=ThrowOnDuplicates)
 Merge all fields from the other record into this record.
AipsIOcasacore::operator<< (AipsIO &os, const Record &rec)
 Write the Record to an output stream.
AipsIOcasacore::operator>> (AipsIO &os, Record &rec)
 Read the Record from an input stream.
void casacore::putRecord (AipsIO &os) const
 Write the Record to an output stream.
void casacore::getRecord (AipsIO &os)
 Read the Record from an input stream.
void casacore::putData (AipsIO &os) const
 Put the data of a record.
void casacore::getData (AipsIO &os, uInt version)
 Read the data of a record.
void casacore::makeUnique () override
 Make a unique record representation (to do copy-on-write in RecordFieldPtr).
void casacore::print (std::ostream &, Int maxNrValues=25, const String &indent="") const override
 Print the contents of the record.
void * casacore::get_pointer (Int whichField, DataType type) const override
 Used by the RecordField classes to attach in a type-safe way to the correct field.
void * casacore::get_pointer (Int whichField, DataType type, const String &recordType) const override
const RecordRepcasacore::ref () const
 Return a const reference to the underlying RecordRep.
RecordRepcasacore::rwRef ()
 Return a non-const reference to the underlying RecordRep.
void casacore::addDataField (const String &name, DataType type, const IPosition &shape, Bool fixedShape, const void *value) override
 Add a field to the record.
void casacore::defineDataField (Int whichField, DataType type, const void *value) override
 Define a value in the given field.
RecordDesc casacore::getDescription () const override
 Get the description of this record.
 casacore::Record (RecordRep *parent, const RecordDesc &description)
 Create Record as a subrecord.
 casacore::Record (RecordRep *parent, RecordType type)

Variables

COWPtr< RecordRepcasacore::rep_p
 The Record representation.
RecordRepcasacore::parent_p
 The parent Record.