25 #ifndef LSST_DAF_BASE_PROPERTYLIST 26 #define LSST_DAF_BASE_PROPERTYLIST 51 #include <unordered_map> 54 #include "boost/any.hpp" 62 namespace persistence {
63 class PropertyListFormatter;
70 #pragma warning(disable : 444) 105 template <
typename T>
121 template <
typename T>
122 T
get(
std::string const& name, T
const& defaultValue)
const;
125 template <
typename T>
152 template <
typename T>
166 template <
typename T>
170 void set(
std::string const& name,
char const* value);
173 template <
typename T>
177 template <
typename T>
181 void add(
std::string const& name,
char const* value);
191 template <
typename T>
202 template <
typename T>
223 template <
typename T>
234 template <
typename T>
248 template <
typename T>
249 void set(
std::string const& name, T
const& value,
char const* comment) {
254 template <
typename T>
260 void set(
std::string const& name,
char const* value,
char const* comment) {
265 template <
typename T>
270 template <
typename T>
282 bool asScalar =
false);
299 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.