25 #ifndef LSST_DAF_BASE_PROPERTYSET 26 #define LSST_DAF_BASE_PROPERTYSET 49 #include <unordered_map> 52 #include "boost/any.hpp" 61 namespace persistence {
62 class PropertySetFormatter;
69 #pragma warning(disable : 444) 103 virtual Ptr deepCopy(
void)
const;
111 size_t nameCount(
bool topLevelOnly =
true)
const;
154 bool isPropertySetPtr(
std::string const& name)
const;
188 template <
typename T>
203 template <
typename T>
204 T
get(
std::string const& name, T
const& defaultValue)
const;
217 template <
typename T>
323 template <
typename T>
334 template <
typename T>
344 void set(
std::string const& name,
char const* value);
355 template <
typename T>
369 template <
typename T>
382 void add(
std::string const& name,
char const* value);
398 bool asScalar =
false);
413 virtual void combine(ConstPtr source);
467 AnyMap::const_iterator _find(
std::string const& name)
const;
480 void _cycleCheckPtr(Ptr
const& v,
std::string const& name);
491 void PropertySet::add<PropertySet::Ptr>(
std::string const& name,
Ptr const& value);
std::shared_ptr< PropertySet > Ptr
std::shared_ptr< PropertySet const > ConstPtr
Interface for Persistable base class.
Class for storing generic metadata.
#define LSST_PERSIST_FORMATTER(formatter...)
Macro used to connect the persistable class with the Formatter and boost::serialization.
Base class for all persistable classes.
Citizen is a class that should be among all LSST classes base classes, and handles basic memory manag...