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 (push) 70 #pragma warning (disable: 444) 105 template <
typename T> T
get(
std::string const& name)
const;
120 template <
typename T>
121 T
get(
std::string const& name, T
const& defaultValue)
const;
124 template <
typename T>
146 virtual std::string toString(
bool topLevelOnly =
false,
152 template <
typename T>
void set(
167 template <
typename T>
void set(
175 template <
typename T>
void add(
179 template <
typename T>
void add(
194 template <
typename T>
void set(
206 template <
typename T>
void set(
230 template <
typename T>
void add(
242 template <
typename T>
void add(
259 template <
typename T>
void set(
261 char const* comment) {
266 template <
typename T>
void set(
268 char const* comment) {
275 char const* comment) {
280 template <
typename T>
void add(
282 char const* comment) {
286 template <
typename T>
void add(
288 char const* comment) {
295 char const* comment) {
317 virtual void _commentOrderFix(
320 CommentMap _comments;
325 #pragma warning (pop)
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.