Class InputArchive

Class Documentation

class InputArchive

A multi-catalog archive object used to load table::io::Persistable objects.

An InputArchive can be constructed directly from the catalogs produced by OutputArchive, or more usefully, read from a multi-extension FITS file.

See

OutputArchive

Public Types

typedef std::map<int, std::shared_ptr<Persistable>> Map

Public Functions

InputArchive()

Construct an empty InputArchive that contains no objects.

InputArchive(BaseCatalog const &index, CatalogVector const &dataCatalogs)

Construct an archive from catalogs.

InputArchive(InputArchive const &other)

Copy-constructor. Does not deep-copy loaded Persistables.

InputArchive(InputArchive &&other)
InputArchive &operator=(InputArchive const &other)

Assignment. Does not deep-copy loaded Persistables.

InputArchive &operator=(InputArchive &&other)
~InputArchive()
std::shared_ptr<Persistable> get(int id) const

Load the Persistable with the given ID and return it.

If the object has already been loaded once, the same instance will be returned again.

template<typename T>
std::shared_ptr<T> get(int id) const

Load an object of the given type and ID with error checking.

Map const &getAll() const

Load and return all objects in the archive.

Public Static Functions

static InputArchive readFits(fits::Fits &fitsfile)

Read an object from an already open FITS object.

Parameters
  • [in] fitsfile: FITS object to read from, already positioned at the desired HDU.