Added templated Read() function that creates the output variable itself (so you don't need to have a temp variable)

This commit is contained in:
jbeder
2009-08-19 03:37:19 +00:00
parent c456eab7cd
commit d1c888f57a
2 changed files with 10 additions and 0 deletions

View File

@@ -49,6 +49,9 @@ namespace YAML
template <typename T> template <typename T>
bool Read(T& value) const; bool Read(T& value) const;
template <typename T>
const T Read() const;
template <typename T> template <typename T>
friend void operator >> (const Node& node, T& value); friend void operator >> (const Node& node, T& value);

View File

@@ -16,6 +16,13 @@ namespace YAML
return Convert(scalar, value); return Convert(scalar, value);
} }
template <typename T>
inline const T Node::Read() const {
T value;
*this >> value;
return value;
}
template <typename T> template <typename T>
inline void operator >> (const Node& node, T& value) { inline void operator >> (const Node& node, T& value) {
if(!node.Read(value)) if(!node.Read(value))