LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
2 #ifndef AFW_TABLE_BaseTable_h_INCLUDED
3 #define AFW_TABLE_BaseTable_h_INCLUDED
7 #include "ndarray/Manager.h"
198 template <
typename RecordT,
typename ...Args>
214 if (_metadata) _metadata = std::static_pointer_cast<daf::base::PropertyList>(_metadata->deepCopy());
244 ndarray::Manager::Ptr _manager;
252 #endif // !AFW_TABLE_BaseTable_h_INCLUDED
BaseColumnView ColumnView
The associated ColumnView class.
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
ndarray::Manager::Ptr manager
BaseTable(BaseTable &&other)
virtual std::shared_ptr< BaseTable > _clone() const
Clone implementation with noncovariant return types.
Defines the fields and offsets for a table.
Column-wise view into a sequence of records that have been allocated contiguously.
Helper struct that contains the information passed from BaseTable to BaseRecord at construction.
Base class for all tables.
virtual void handleAliasChange(std::string const &alias)
std::shared_ptr< daf::base::PropertyList > popMetadata()
Return the metadata and set the internal metadata to a null pointer.
Mapping class that holds aliases for a Schema.
std::shared_ptr< BaseRecord > makeRecord()
Default-construct an associated record.
ItemVariant const * other
Base class for all records.
std::shared_ptr< BaseTable > table
A mapping between the keys of two Schemas, used to copy data between them.
static int nRecordsPerBlock
Number of records in each memory block.
Schema getSchema() const
Return the table's schema.
BaseTable & operator=(BaseTable const &other)=delete
CatalogT< Record > Catalog
Template of CatalogT used to hold records of the associated type.
void setMetadata(std::shared_ptr< daf::base::PropertyList > const &metadata)
Set the flexible metadata associated with the table. May be null.
A base class for image defects.
BaseRecord Record
The associated record class.
Writer object for FITS binary tables.
void preallocate(std::size_t nRecords)
Allocate contiguous space for new records in advance.
std::shared_ptr< BaseTable > clone() const
Return a polymorphic deep copy of the table.
std::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
std::shared_ptr< daf::base::PropertyList > getMetadata() const
Return the flexible metadata associated with the table. May be null.
BaseTable & operator=(BaseTable &&other)=delete
BaseTable(Schema const &schema)
Construct from a schema.
BaseTable(BaseTable const &other)
Copy construct.
virtual std::shared_ptr< BaseRecord > _makeRecord()
Default-construct an associated record (protected implementation).
std::shared_ptr< RecordT > constructRecord(Args &&...args)
Helper function that must be used by all _makeRecord overrides to actually construct records.
static std::shared_ptr< BaseTable > make(Schema const &schema)
Construct a new table.
std::size_t getBufferSize() const
Return the number of additional records space has been already been allocated for.
CatalogT< Record const > ConstCatalog
Template of CatalogT used to hold const records of the associated type.
A custom container class for records, based on std::vector.