25 #ifndef LSST_DAF_BASE_PROPERTYLIST 26 #define LSST_DAF_BASE_PROPERTYLIST 51 #include <unordered_map> 54 #include "boost/any.hpp" 61 namespace persistence {
62 class PropertyListFormatter;
69 #pragma warning(disable : 444) 104 template <
typename T>
120 template <
typename T>
121 T
get(
std::string const& name, T
const& defaultValue)
const;
124 template <
typename T>
151 template <
typename T>
165 template <
typename T>
169 void set(
std::string const& name,
char const* value);
172 template <
typename T>
176 template <
typename T>
180 void add(
std::string const& name,
char const* value);
190 template <
typename T>
201 template <
typename T>
222 template <
typename T>
233 template <
typename T>
247 template <
typename T>
248 void set(
std::string const& name, T
const& value,
char const* comment) {
253 template <
typename T>
259 void set(
std::string const& name,
char const* value,
char const* comment) {
264 template <
typename T>
269 template <
typename T>
281 bool asScalar =
false);
298 CommentMap _comments;
Class for storing ordered metadata with comments.
std::shared_ptr< PropertyList const > ConstPtr
std::shared_ptr< PropertyList > Ptr
void add(std::string const &name, std::vector< T > const &value, char const *comment)
Version of add vector value that accepts a comment.
void add(std::string const &name, char const *value, char const *comment)
Version of add char* value that accepts a comment.
Class for storing generic metadata.
#define LSST_PERSIST_FORMATTER(formatter...)
Macro used to connect the persistable class with the Formatter and boost::serialization.
void add(std::string const &name, T const &value, char const *comment)
Version of add scalar value that accepts a comment.