LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
InputArchive.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2#ifndef AFW_TABLE_IO_InputArchive_h_INCLUDED
3#define AFW_TABLE_IO_InputArchive_h_INCLUDED
4
5#include <map>
6
7#include "lsst/base.h"
9
10namespace lsst {
11namespace afw {
12namespace table {
13
14class BaseRecord;
15template <typename RecordT>
16class CatalogT;
17using BaseCatalog = CatalogT<BaseRecord>;
18
19namespace io {
20
21class CatalogVector;
22
32public:
34
37
40
44
48
50
57
59 template <typename T>
60 std::shared_ptr<T> get(int id) const {
61 std::shared_ptr<T> p = std::dynamic_pointer_cast<T>(get(id));
62 LSST_ARCHIVE_ASSERT(p || id == 0);
63 return p;
64 }
65
67 Map const& getAll() const;
68
75
76private:
77 class Impl;
78
80
82};
83} // namespace io
84} // namespace table
85} // namespace afw
86} // namespace lsst
87
88#endif // !AFW_TABLE_IO_InputArchive_h_INCLUDED
#define LSST_ARCHIVE_ASSERT(EXPR)
An assertion macro used to validate the structure of an InputArchive.
Definition Persistable.h:48
Basic LSST definitions.
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
Definition fits.h:308
Tag types used to declare specialized field types.
Definition misc.h:31
A vector of catalogs used by Persistable.
A multi-catalog archive object used to load table::io::Persistable objects.
static InputArchive readFits(fits::Fits &fitsfile)
Read an object from an already open FITS object.
InputArchive & operator=(InputArchive const &other)
Assignment. Does not deep-copy loaded Persistables.
Map const & getAll() const
Load and return all objects in the archive.
std::shared_ptr< Persistable > get(int id) const
Load the Persistable with the given ID and return it.
InputArchive(InputArchive const &other)
Copy-constructor. Does not deep-copy loaded Persistables.
std::shared_ptr< T > get(int id) const
Load an object of the given type and ID with error checking.
std::map< int, std::shared_ptr< Persistable > > Map
InputArchive()
Construct an empty InputArchive that contains no objects.