25 #ifndef LSST_DAF_BASE_PROPERTYLIST 26 #define LSST_DAF_BASE_PROPERTYLIST 60 #include <unordered_map> 63 #include "boost/any.hpp" 70 namespace persistence {
71 class PropertyListFormatter;
78 #pragma warning (push) 79 #pragma warning (disable: 444) 97 template <
typename T> T
get(
std::string const& name)
const;
100 template <
typename T>
101 T
get(
std::string const& name, T
const& defaultValue)
const;
103 template <
typename T>
113 virtual std::string toString(
bool topLevelOnly =
false,
117 template <
typename T>
void set(
121 template <
typename T>
void set(
125 template <
typename T>
void add(
127 template <
typename T>
void add(
132 template <
typename T>
void set(
135 template <
typename T>
void set(
141 template <
typename T>
void add(
144 template <
typename T>
void add(
151 template <
typename T>
void set(
153 char const* comment) {
156 template <
typename T>
void set(
158 char const* comment) {
163 char const* comment) {
166 template <
typename T>
void add(
168 char const* comment) {
171 template <
typename T>
void add(
173 char const* comment) {
178 char const* comment) {
196 virtual void _commentOrderFix(
199 CommentMap _comments;
204 #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)
void add(std::string const &name, char const *value, char const *comment)
Class for storing generic metadata.
#define LSST_PERSIST_FORMATTER(formatter...)
Macro used to connect the persistable class with the Formatter and boost::serialization.
Interface for PropertySet class.
void add(std::string const &name, T const &value, char const *comment)