30 #ifndef TABLES_TABLERECORDREP_H
31 #define TABLES_TABLERECORDREP_H
182 const String& oldParentName);
214 const String& recordType)
const;
229 void print (std::ostream&,
230 Int maxNrValues = 25,
231 const String& indent=
"")
const;
247 virtual void removeData (
Int whichField,
void* ptr,
void* vecptr);
void renameField(const String &newName, Int whichField)
Rename the given field.
A Vector of integers, for indexing into Array<T> objects.
void mergeField(const TableRecordRep &other, Int whichFieldFromOther, RecordInterface::DuplicatesFlag)
Merge a field from another record into this record.
RecordType
Define the flag telling if a Record has a fixed or variable structure.
void getRecord(AipsIO &os, Int &recordType, const TableAttr &)
Get the description and data of the Record.
void getData(AipsIO &os, uInt version, const TableAttr &)
Read the data of a record.
TableRecordRep()
Create a record with no fields.
Main interface class to a read/write table.
AipsIO is the object persistency mechanism of Casacore.
void defineDataField(Int whichField, DataType type, const void *value)
Define a value for the given field.
const RecordDesc & description() const
Describes the current structure of this Record.
void getTableKeySet(AipsIO &os, uInt version, const TableAttr &, uInt type)
Get a KeywordSet object as a TableRecord.
virtual void removeFieldFromDesc(Int whichField)
Remove a field from the description.
The representation of a Record.
void copy_other(const TableRecordRep &other)
Utility function to avoid code duplication in the public member functions.
const String & comment(Int whichField) const
Get the comment for this field.
virtual Int fieldNumber(const String &name) const
Get the field number for a given name.
void renameField(const String &newName, Int whichField)
Rename the given field.
void * get_pointer(Int whichField, DataType type) const
Used by the RecordFieldPtr classes to attach in a type-safe way to the correct field.
TableRecordRep & operator=(const TableRecordRep &other)
Copy all the data over.
void copyData(const TableRecordRep &other)
Copy all data of the TableRecord.
Description of the fields in a record object.
DuplicatesFlag
Define the Duplicates flag for the function merge in the various record classes.
The representation of a TableRecord.
void putData(AipsIO &os, const TableAttr &) const
Put the data of a record.
bool Bool
Define the standard types used by Casacore.
void merge(const TableRecordRep &other, RecordInterface::DuplicatesFlag)
Merge all fields from the other record into this record.
void closeTable(Int whichField) const
Close the table in the given field.
Bool areTablesMultiUsed() const
Are subtables used in other processes.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
A hierarchical collection of named fields of various types.
~TableRecordRep()
Delete all data.
void renameTables(const String &newParentName, const String &oldParentName)
Rename the subtables with a path containing the old parent table name.
void setComment(Int whichField, const String &comment)
Set the comment for this field.
void setComment(Int whichField, const String &comment)
Set the comment for this field.
void closeTables() const
Close all open tables.
void flushTables(Bool fsync) const
Flush all open subtables.
void print(std::ostream &, Int maxNrValues=25, const String &indent="") const
Print a record.
String: the storage and methods of handling collections of characters.
RecordDesc desc_p
Holds the description.
void reopenRW()
Reopen possible tables in keywords as read/write.
virtual void addFieldToDesc(const String &name, DataType type, const IPosition &shape, Bool fixedShape)
Add a field to the description.
const String & comment(Int whichField) const
Get the comment for this field.
Some attributes of a table.
void addField(const String &name, const TableRecord &value, RecordInterface::RecordType type)
Add a field with the given name and value to the record.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
virtual void removeData(Int whichField, void *ptr, void *vecptr)
Remove a data field.
void putRecord(AipsIO &os, Int recordType, const TableAttr &) const
Put the description and data of the Record.
void restructure(const RecordDesc &newDescription, Bool recursive)
Change the structure of this Record to contain the fields in newDescription.
Bool conform(const TableRecordRep &other) const
Returns True if this and other have the same RecordDesc, other than different names for the fields...