2 #ifndef AFW_TABLE_IO_OutputArchive_h_INCLUDED
3 #define AFW_TABLE_IO_OutputArchive_h_INCLUDED
5 #include "boost/noncopyable.hpp"
10 namespace lsst {
namespace afw {
namespace table {
14 template <
typename RecordT>
class CatalogT;
20 class OutputArchiveHandle;
144 friend class OutputArchive::Impl;
147 int id, std::string
const &
name, std::string
const & module,
148 PTR(OutputArchive::Impl) impl
155 PTR(OutputArchive::Impl) _impl;
160 #endif // !AFW_TABLE_IO_OutputArchive_h_INCLUDED
Defines the fields and offsets for a table.
table::Key< std::string > name
boost::shared_ptr< Impl > _impl
OutputArchive()
Construct an empty OutputArchive containing no objects.
CatalogT< BaseRecord > BaseCatalog
An object passed to Persistable::write to allow it to persist itself.
A custom container class for records, based on std::vector.
afw::table::Schema schema
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
friend class OutputArchiveHandle
A base class for objects that can be persisted via afw::table::io Archive classes.
A multi-catalog archive object used to save table::io::Persistable objects.
int put(boost::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 InputArc...
void writeFits(fits::Fits &fitsfile) const
Write the archive to an already-open FITS object.
int countCatalogs() const
Return the total number of catalogs, including the index.
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 InputArc...
BaseCatalog const & getCatalog(int n) const
Return the nth catalog. Catalog 0 is always the index catalog.
BaseCatalog const & getIndexCatalog() const
Return the index catalog that specifies where objects are stored in the data catalogs.
int put(boost::shared_ptr< Persistable const > obj, bool permissive=false)
Save a nested Persistable to the same archive.
OutputArchive & operator=(OutputArchive const &other)
Assign from another OutputArchive. Saved objects are not deep-copied.