26#ifndef TABLES_SETUPNEWTAB_H
27#define TABLES_SETUPNEWTAB_H
31#include <casacore/casa/aips.h>
32#include <casacore/tables/Tables/Table.h>
33#include <casacore/tables/Tables/StorageOption.h>
34#include <casacore/casa/BasicSL/String.h>
42class VirtualColumnEngine;
383 {
newTable_p->tableDescPtr()->adjustHypercolumns(old2new,keepUnknown); }
398 {
newTable_p->bindColumn (columnName, otherColumn); }
407 {
newTable_p->bindGroup (columnGroup, dm, rebind); }
Abstract base class for a data manager.
int option() const
Get the table create option.
const String & name() const
Get the name of the table.
void bindColumn(const String &columnName, const String &otherColumn)
Bind a column to the given data manager of the other column.
const StorageOption & storageOption() const
Get the storage option.
Bool delete_p
Marked for delete?
void bindGroup(const String &columnGroup, const DataManager &, Bool rebind=False)
Bind a group of columns to the given data manager.
std::shared_ptr< TableDesc > tdescPtr_p
const std::shared_ptr< ColumnSet > & columnSetPtr() const
Get pointer to column set.
void bindCreate(const Record &spec)
Create data managers and bind the columns using the specifications in the given record (which is obta...
void setup()
Setup the new table.
std::map< void *, void * > dataManMap_p
const TableDesc & tableDesc() const
Get the table description.
SetupNewTableRep(const String &tableName, const TableDesc &, Table::TableOption, const StorageOption &)
Create a new table using the given table description.
void setInUse()
Set object to in use by a (Plain)Table object.
std::shared_ptr< ColumnSet > colSetPtr_p
void bindAll(const DataManager &, Bool rebind=False)
Bind all columns to the given data manager.
SetupNewTableRep(const String &tableName, const String &tableDescName, Table::TableOption, const StorageOption &)
Create a new table using the table description with the given name.
void bindColumn(const String &columnName, const DataManager &)
Bind a column to the given data manager.
SetupNewTableRep(const SetupNewTableRep &)=delete
Copy constructor is forbidden, because copying a table requires some more knowledge (like table name ...
StorageOption storageOpt_p
String tabName_p
Table name.
Bool isMarkedForDelete() const
Test if the table is marked for delete.
const std::shared_ptr< TableDesc > & tableDescPtr() const
Get pointer to table description.
SetupNewTableRep & operator=(const SetupNewTableRep &)=delete
Assignment is forbidden, because copying a table requires some more knowledge (like table name of res...
void handleUnbound()
Make a data manager for all unbound columns.
Bool isUsed() const
Test if object is already in use.
void setShapeColumn(const String &columnName, const IPosition &shape)
Define the shape of fixed shaped arrays in a column.
DataManager * getDataManager(const DataManager &dataMan)
Get the internal data manager object for the given data manager.
int option_p
Constructor options.
Create a new table - define shapes, data managers, etc.
void bindAll(const DataManager &dm, Bool rebind=False)
Bind all columns to the given data manager.
SetupNewTable & operator=(const SetupNewTable &)
Assignment (reference semantics).
std::shared_ptr< SetupNewTableRep > newTable_p
Actual object.
void bindCreate(const Record &spec)
Create data managers and bind the columns using the specifications in the given record (which is obta...
const StorageOption & storageOption() const
Get the storage option.
const std::shared_ptr< ColumnSet > & columnSetPtr() const
Get pointer to column set.
SetupNewTable(const String &tableName, const TableDesc &, Table::TableOption, const StorageOption &=StorageOption())
Create a new table using the given table description.
Bool isMarkedForDelete() const
Test if the table is marked for delete.
void setShapeColumn(const String &columnName, const IPosition &shape)
Define the shape of fixed shaped arrays in a column.
void setInUse()
Set object to in use by a (Plain)Table object.
const std::shared_ptr< TableDesc > & tableDescPtr() const
Get pointer to table description.
SetupNewTable(const String &tableName, const String &tableDescName, Table::TableOption, const StorageOption &=StorageOption())
Create a new table using the table description with the given name.
SetupNewTable(const SetupNewTable &)
Copy constructor (reference semantics).
Bool isUsed() const
Test if object is already in use.
const String & name() const
Get the name of the table.
int option() const
Get the table create option.
void bindColumn(const String &columnName, const DataManager &dm)
Bind a column to the given data manager.
void bindColumn(const String &columnName, const String &otherColumn)
Bind a column to the given data manager of the other column.
const TableDesc & tableDesc() const
Get the table description.
void bindGroup(const String &columnGroup, const DataManager &dm, Bool rebind=False)
Bind a group of columns to the given data manager.
void handleUnbound()
Make a data manager for all unbound columns.
void adjustHypercolumns(const std::map< String, String > &old2new, Bool keepUnknown)
Adjust the hypercolumn definitions.
String: the storage and methods of handling collections of characters.
TableOption
Define the possible options how a table can be opened.
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
bool Bool
Define the standard types used by Casacore.