LSST Applications g1635faa6d4+215bc75b8c,g1653933729+a8ce1bb630,g22ce9dc20b+d972d8df89,g28da252d5a+0fcf840c6d,g29321ee8c0+e558be0e74,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+2a6f257a1d,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g7ab3e175f3+59ce30aec6,g80478fca09+f8b2ab54e1,g82479be7b0+ba9d578ff8,g858d7b2824+d972d8df89,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+630363936d,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gb9c6c11c1e+9553554aa7,gbd46683f8f+0c4209622a,gc28159a63d+9634bc57db,gcf0d15dbbd+2db122af0a,gda3e153d99+d972d8df89,gda6a2b7d83+2db122af0a,gdaeeff99f8+1711a396fd,ge2409df99d+d1dc2f3b25,ge33fd446bb+d972d8df89,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
|
A multi-catalog archive object used to save table::io::Persistable objects. More...
#include <OutputArchive.h>
Classes | |
class | Impl |
Public Member Functions | |
OutputArchive () | |
Construct an empty OutputArchive containing no objects. | |
OutputArchive (OutputArchive const &other) | |
Copy-construct an OutputArchive. Saved objects are not deep-copied. | |
OutputArchive (OutputArchive &&other) | |
OutputArchive & | operator= (OutputArchive const &other) |
Assign from another OutputArchive. Saved objects are not deep-copied. | |
OutputArchive & | operator= (OutputArchive &&other) |
~OutputArchive () | |
BaseCatalog const & | getIndexCatalog () const |
Return the index catalog that specifies where objects are stored in the data catalogs. | |
BaseCatalog const & | getCatalog (int n) const |
Return the nth catalog. Catalog 0 is always the index catalog. | |
std::size_t | countCatalogs () const |
Return the total number of catalogs, including the index. | |
void | writeFits (fits::Fits &fitsfile) const |
Write the archive to an already-open FITS object. | |
int | put (std::shared_ptr< Persistable const > obj, bool permissive=false) |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive. | |
int | put (Persistable const *obj, bool permissive=false) |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive. | |
int | put (Persistable const &obj, bool permissive=false) |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive. | |
Friends | |
class | OutputArchiveHandle |
A multi-catalog archive object used to save table::io::Persistable objects.
OutputArchive should generally be used directly only by objects that do not themselves inherit from Persistable, but contain many objects that do (such as Exposure). It provides an interface for adding objects to the archive (put()), transforming them into catalogs that can be retrieved directly or written to a FITS file. The first catalog is an index that indicates which rows of the subsequent catalogs correspond to each object.
See getIndexCatalog() for a more detailed description of the index.
Definition at line 34 of file OutputArchive.h.
lsst::afw::table::io::OutputArchive::OutputArchive | ( | ) |
Construct an empty OutputArchive containing no objects.
Definition at line 160 of file OutputArchive.cc.
|
default |
Copy-construct an OutputArchive. Saved objects are not deep-copied.
lsst::afw::table::io::OutputArchive::OutputArchive | ( | OutputArchive && | other | ) |
Definition at line 164 of file OutputArchive.cc.
|
default |
std::size_t lsst::afw::table::io::OutputArchive::countCatalogs | ( | ) | const |
Return the total number of catalogs, including the index.
Definition at line 201 of file OutputArchive.cc.
BaseCatalog const & lsst::afw::table::io::OutputArchive::getCatalog | ( | int | n | ) | const |
Return the nth catalog. Catalog 0 is always the index catalog.
Definition at line 190 of file OutputArchive.cc.
BaseCatalog const & lsst::afw::table::io::OutputArchive::getIndexCatalog | ( | ) | const |
Return the index catalog that specifies where objects are stored in the data catalogs.
Definition at line 188 of file OutputArchive.cc.
OutputArchive & lsst::afw::table::io::OutputArchive::operator= | ( | OutputArchive && | other | ) |
Definition at line 168 of file OutputArchive.cc.
|
default |
Assign from another OutputArchive. Saved objects are not deep-copied.
|
inline |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive.
If permissive is true and obj->isPersistable() is false, the object will not be saved but 0 will be returned instead of throwing an exception.
If the given pointer is null, the returned ID is always 0, which may be used to retrieve null pointers from an InputArchive.
It is expected that the shared_ptr
form will usually be used, as Persistables are typically held by shared_ptr
. We also provide a const reference overload for temporaries as well as a const raw pointer overload for temporaries that may be null.
If the shared_ptr form is used and the given pointer has already been saved, it will not be written again and the same ID will be returned as the first time it was saved.
Definition at line 82 of file OutputArchive.h.
int lsst::afw::table::io::OutputArchive::put | ( | Persistable const * | obj, |
bool | permissive = false ) |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive.
If permissive is true and obj->isPersistable() is false, the object will not be saved but 0 will be returned instead of throwing an exception.
If the given pointer is null, the returned ID is always 0, which may be used to retrieve null pointers from an InputArchive.
It is expected that the shared_ptr
form will usually be used, as Persistables are typically held by shared_ptr
. We also provide a const reference overload for temporaries as well as a const raw pointer overload for temporaries that may be null.
If the shared_ptr form is used and the given pointer has already been saved, it will not be written again and the same ID will be returned as the first time it was saved.
Definition at line 172 of file OutputArchive.cc.
int lsst::afw::table::io::OutputArchive::put | ( | std::shared_ptr< Persistable const > | obj, |
bool | permissive = false ) |
Save an object to the archive and return a unique ID that can be used to retrieve it from an InputArchive.
If permissive is true and obj->isPersistable() is false, the object will not be saved but 0 will be returned instead of throwing an exception.
If the given pointer is null, the returned ID is always 0, which may be used to retrieve null pointers from an InputArchive.
It is expected that the shared_ptr
form will usually be used, as Persistables are typically held by shared_ptr
. We also provide a const reference overload for temporaries as well as a const raw pointer overload for temporaries that may be null.
If the shared_ptr form is used and the given pointer has already been saved, it will not be written again and the same ID will be returned as the first time it was saved.
Definition at line 180 of file OutputArchive.cc.
void lsst::afw::table::io::OutputArchive::writeFits | ( | fits::Fits & | fitsfile | ) | const |
Write the archive to an already-open FITS object.
Always appends new HDUs.
[in] | fitsfile | Open FITS object to write to. |
Definition at line 203 of file OutputArchive.cc.
|
friend |
Definition at line 36 of file OutputArchive.h.