25 #ifndef LSST_MWI_PERSISTENCE_FORMATTER_H 26 #define LSST_MWI_PERSISTENCE_FORMATTER_H 60 #include "lsst/daf/base/Citizen.h" 61 #include "lsst/daf/base/PropertySet.h" 63 #include "lsst/pex/policy.h" 73 namespace persistence {
76 class LogicalLocation;
81 typedef std::shared_ptr<Formatter>
Ptr;
85 typedef Ptr (*FactoryPtr)(lsst::pex::policy::Policy::Ptr);
98 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
106 virtual lsst::daf::base::Persistable* read(
108 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
119 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
122 std::string
const& persistableType,
123 lsst::pex::policy::Policy::Ptr policy);
125 std::type_info
const& persistableType,
126 lsst::pex::policy::Policy::Ptr policy);
129 explicit Formatter(std::type_info
const& type);
141 std::type_info
const& persistableType,
142 Formatter::FactoryPtr factory);