25 #ifndef LSST_MWI_PERSISTENCE_BOOSTSTORAGE_H
26 #define LSST_MWI_PERSISTENCE_BOOSTSTORAGE_H
52 #include <boost/archive/text_oarchive.hpp>
53 #include <boost/archive/text_iarchive.hpp>
57 namespace persistence {
61 typedef std::shared_ptr<BoostStorage>
Ptr;
66 virtual void setPolicy(lsst::pex::policy::Policy::Ptr policy);
73 virtual boost::archive::text_oarchive&
getOArchive(
void);
74 virtual boost::archive::text_iarchive&
getIArchive(
void);
77 std::unique_ptr<std::ofstream> _ostream;
78 std::unique_ptr<std::ifstream> _istream;
79 std::unique_ptr<boost::archive::text_oarchive> _oarchive;
81 std::unique_ptr<boost::archive::text_iarchive> _iarchive;
Class for logical location of a persisted Persistable instance.
virtual boost::archive::text_iarchive & getIArchive(void)
Get a boost::serialization archive suitable for input.
virtual void setRetrieveLocation(LogicalLocation const &location)
Set the source of the serialization file for retrieval.
std::shared_ptr< BoostStorage > Ptr
virtual ~BoostStorage(void)
Destructor.
BoostStorage(void)
Constructor.
virtual void startTransaction(void)
Start a transaction.
virtual boost::archive::text_oarchive & getOArchive(void)
Get a boost::serialization archive suitable for output.
virtual void endTransaction(void)
End a transaction.
Class for boost::serialization storage.
virtual void setPolicy(lsst::pex::policy::Policy::Ptr policy)
Allow a Policy to be used to configure the BoostStorage.
virtual void setPersistLocation(LogicalLocation const &location)
Set the destination of the serialization file for persistence.