Loading...
Searching...
No Matches
casacore::ColumnDescSet Class Reference
tables package (libcasa_tables) » Tables_module » Tables_module_internal_classes

More...

`#include <ColDescSet.h>`

## Public Member Functions

| ColumnDescSet ()
| Construct an empty column set.
| ColumnDescSet (const ColumnDescSet &)
| Copy constructor (copy semantics).
| ~ColumnDescSet ()
ColumnDescSet & | operator= (const ColumnDescSet &)
| Assignment (copy semantics).
ColumnDesc & | operator[] (const String &name)
| Get a column by its name.
const ColumnDesc & | operator[] (const String &name) const
ColumnDesc & | operator[] (uInt index)
| Get a column by its index.
const ColumnDesc & | operator[] (uInt index) const
uInt | ncolumn () const
| Get nr of columns in this set.
Bool | isDefined (const String &name) const
| Test if a column is defined in this set.
Bool | isEqual (const ColumnDescSet &other, Bool &equalDataTypes) const
| Test if this set equals another one.
Bool | isSubset (const ColumnDescSet &other, Bool &equalDataTypes) const
| Test if this set is a subset of another one.
Bool | isStrictSubset (const ColumnDescSet &other, Bool &equalDataTypes) const
| Test if this set is a strict subset of another one, thus if it is a subset and not equal.
Bool | isSuperset (const ColumnDescSet &other, Bool &equalDataTypes) const
| Test if this set is a superset of another one.
Bool | isStrictSuperset (const ColumnDescSet &other, Bool &equalDataTypes) const
| Test if this set is a strict superset of another one, thus if it is a superset and not equal.
Bool | isDisjoint (const ColumnDescSet &other) const
| Test if this and the other column set are disjoint.
void | show (ostream &os) const
| Get const access to the column descriptions.
void | checkSubTableDesc () const
| Check recursevily if the descriptions of all subtables are known.

## Private Member Functions

ColumnDesc & | addColumn (const ColumnDesc &)
| Add a column.
ColumnDesc & | addColumn (const ColumnDesc &, const String &newname)
| Add a column with another name.
void | remove (const String &name)
| Remove a column.
void | rename (const String &newname, const String &oldname)
| Rename a column in the set.
Bool | allExist (const ColumnDescSet &, Bool &equalDataTypes) const
| Test if all columns are part of the other set.
void | add (const ColumnDescSet &set)
| Add another (disjoint) column set.
void | putFile (AipsIO &ios, const TableAttr &) const
| Put the object.
void | getFile (AipsIO &, const TableAttr &)
| Get the object.

## Private Attributes

std::map< String, std::shared_ptr< ColumnDesc > > | cols_p
| The set of all columns.
Block< void * > | colSeq_p
| The order of addition of column descriptions.

## Friends

class | TableDesc

## Detailed Description

Set of table column descriptions

### Intended use:

Internal

### Review Status

Reviewed By:
  UNKNOWN
Date Reviewed:
  before2004/08/25

### Prerequisite

- TableDesc
- BaseColumnDesc
- Keyword module

### Etymology

ColumnDescSet is the set of column descriptions in a table description.

### Synopsis

ColumnDescSet is used by TableDesc to store all column descriptions.

In principle this class is only used internally by the table system. However, there is a function in TableDesc which gives const access to this class. This can be used by the user to call functions like isDisjoint.

Definition at line 76 of file ColDescSet.h.

## Constructor & Destructor Documentation

## ColumnDescSet() [1/2]

casacore::ColumnDescSet::ColumnDescSet | ( |  | ) |

Construct an empty column set.

Referenced by add(), allExist(), ColumnDescSet(), isDisjoint(), isEqual(), isStrictSubset(), isStrictSuperset(), isSubset(), isSuperset(), operator=(), and operator[]().

## ColumnDescSet() [2/2]

casacore::ColumnDescSet::ColumnDescSet | ( | const ColumnDescSet & |  | ) |

Copy constructor (copy semantics).

References ColumnDescSet().

## ~ColumnDescSet()

casacore::ColumnDescSet::~ColumnDescSet | ( |  | ) |

## Member Function Documentation

## add()

void casacore::ColumnDescSet::add | ( | const ColumnDescSet & | set | ) |

private

Add another (disjoint) column set.

If the sets are not disjoint (i.e. the other set contains a column with an already existing name, an exception is thrown and nothing of the other set is added.

References ColumnDescSet().

## addColumn() [1/2]

ColumnDesc & casacore::ColumnDescSet::addColumn | ( | const ColumnDesc & |  | ) |

private

Add a column.

An exception is thrown if a column with this name already exists.

## addColumn() [2/2]

ColumnDesc & casacore::ColumnDescSet::addColumn | ( | const ColumnDesc & | ,
|  | const String & | newname )

private

Add a column with another name.

An exception is thrown if a column with this name already exists.

## allExist()

Bool casacore::ColumnDescSet::allExist | ( | const ColumnDescSet & | ,
|  | Bool & | equalDataTypes ) const

private

Test if all columns are part of the other set.

The flag equalDataTypes is set to True if the data types of the columns in both sets are the same.

References ColumnDescSet().

## checkSubTableDesc()

void casacore::ColumnDescSet::checkSubTableDesc | ( |  | ) | const

Check recursevily if the descriptions of all subtables are known.

## getFile()

void casacore::ColumnDescSet::getFile | ( | AipsIO & | ,
|  | const TableAttr & | )

private

Get the object.

## isDefined()

Bool casacore::ColumnDescSet::isDefined | ( | const String & | name | ) | const

inline

Test if a column is defined in this set.

Definition at line 112 of file ColDescSet.h.

References cols_p, and casacore::name().

## isDisjoint()

Bool casacore::ColumnDescSet::isDisjoint | ( | const ColumnDescSet & | other | ) | const

Test if this and the other column set are disjoint.

References ColumnDescSet().

## isEqual()

Bool casacore::ColumnDescSet::isEqual | ( | const ColumnDescSet & | other,
|  | Bool & | equalDataTypes ) const

Test if this set equals another one.

It is equal if the number of columns is equal and all field names in this set occur in the other too. The order of the columns is not important.
The flag equalDataTypes is set to True if the data types of all columns match.

References ColumnDescSet().

## isStrictSubset()

Bool casacore::ColumnDescSet::isStrictSubset | ( | const ColumnDescSet & | other,
|  | Bool & | equalDataTypes ) const

Test if this set is a strict subset of another one, thus if it is a subset and not equal.

References ColumnDescSet().

Referenced by isStrictSuperset().

## isStrictSuperset()

Bool casacore::ColumnDescSet::isStrictSuperset | ( | const ColumnDescSet & | other,
|  | Bool & | equalDataTypes ) const

inline

Test if this set is a strict superset of another one, thus if it is a superset and not equal.

Definition at line 138 of file ColDescSet.h.

References ColumnDescSet(), and isStrictSubset().

## isSubset()

Bool casacore::ColumnDescSet::isSubset | ( | const ColumnDescSet & | other,
|  | Bool & | equalDataTypes ) const

Test if this set is a subset of another one.

It is similar to isEqual above.

References ColumnDescSet().

Referenced by isSuperset().

## isSuperset()

Bool casacore::ColumnDescSet::isSuperset | ( | const ColumnDescSet & | other,
|  | Bool & | equalDataTypes ) const

inline

Test if this set is a superset of another one.

Definition at line 133 of file ColDescSet.h.

References ColumnDescSet(), and isSubset().

## ncolumn()

uInt casacore::ColumnDescSet::ncolumn | ( |  | ) | const

inline

Get nr of columns in this set.

Definition at line 108 of file ColDescSet.h.

References cols_p.

## operator=()

ColumnDescSet & casacore::ColumnDescSet::operator= | ( | const ColumnDescSet & |  | ) |

Assignment (copy semantics).

References ColumnDescSet().

## operator[]() [1/4]

ColumnDesc & casacore::ColumnDescSet::operator[] | ( | const String & | name | ) |

Get a column by its name.

References casacore::name().

## operator[]() [2/4]

const ColumnDesc & casacore::ColumnDescSet::operator[] | ( | const String & | name | ) | const

inline

Definition at line 95 of file ColDescSet.h.

References ColumnDescSet(), and casacore::name().

## operator[]() [3/4]

ColumnDesc & casacore::ColumnDescSet::operator[] | ( | uInt | index | ) |

inline

Get a column by its index.

Definition at line 101 of file ColDescSet.h.

References colSeq_p.

## operator[]() [4/4]

const ColumnDesc & casacore::ColumnDescSet::operator[] | ( | uInt | index | ) | const

inline

Definition at line 103 of file ColDescSet.h.

References colSeq_p.

## putFile()

void casacore::ColumnDescSet::putFile | ( | AipsIO & | ios,
|  | const TableAttr & | ) const

private

Put the object.

## remove()

void casacore::ColumnDescSet::remove | ( | const String & | name | ) |

private

Remove a column.

An exception is thrown if the column with this name does not exist.

References casacore::name().

## rename()

void casacore::ColumnDescSet::rename | ( | const String & | newname,
|  | const String & | oldname )

private

Rename a column in the set.

An exception is thrown if the new name already exists or if the old name does not exist.

## show()

void casacore::ColumnDescSet::show | ( | ostream & | os | ) | const

Get const access to the column descriptions.

Show the columns in the set.

## Friends And Related Symbol Documentation

## TableDesc

friend class TableDesc

friend

Definition at line 78 of file ColDescSet.h.

References TableDesc.

Referenced by TableDesc.

## Member Data Documentation

## cols_p

std::map<String,std::shared_ptr<ColumnDesc> > casacore::ColumnDescSet::cols_p

private

The set of all columns.

Definition at line 192 of file ColDescSet.h.

Referenced by isDefined(), and ncolumn().

## colSeq_p

Block<void*> casacore::ColumnDescSet::colSeq_p

private

The order of addition of column descriptions.

Definition at line 196 of file ColDescSet.h.

Referenced by operator[](), and operator[]().

The documentation for this class was generated from the following file:

- tables/Tables/ColDescSet.h