25 #ifndef LSST_DAF_BASE_PROPERTYSET 26 #define LSST_DAF_BASE_PROPERTYSET 49 #include <unordered_map> 52 #include "boost/any.hpp" 62 namespace persistence {
63 class PropertySetFormatter;
70 #pragma warning(disable : 444) 104 virtual Ptr deepCopy(
void)
const;
112 size_t nameCount(
bool topLevelOnly =
true)
const;
155 bool isPropertySetPtr(
std::string const& name)
const;
181 template <
typename T>
197 template <
typename T>
212 template <
typename T>
213 T
get(
std::string const& name, T
const& defaultValue)
const;
226 template <
typename T>
332 template <
typename T>
343 template <
typename T>
353 void set(
std::string const& name,
char const* value);
364 template <
typename T>
378 template <
typename T>
391 void add(
std::string const& name,
char const* value);
407 bool asScalar =
false);
422 virtual void combine(ConstPtr source);
476 AnyMap::const_iterator _find(
std::string const& name)
const;
489 void _cycleCheckPtr(Ptr
const& v,
std::string const& name);
500 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...