diff --git a/cyberiadamlpp.cpp b/cyberiadamlpp.cpp index a6e08c3..85485df 100644 --- a/cyberiadamlpp.cpp +++ b/cyberiadamlpp.cpp @@ -130,6 +130,13 @@ CyberiadaNode* Element::to_node() const return node; } +std::string Element::dump_to_str() const +{ + std::ostringstream s; + dump(s); + return s.str(); +} + std::ostream& Element::dump(std::ostream& os) const { String type_str; diff --git a/cyberiadamlpp.h b/cyberiadamlpp.h index 711d362..6ee193b 100644 --- a/cyberiadamlpp.h +++ b/cyberiadamlpp.h @@ -93,6 +93,8 @@ namespace Cyberiada { friend std::ostream& operator<<(std::ostream& os, const Element& e); virtual CyberiadaNode* to_node() const; + virtual std::string dump_to_str() const; + protected: Element* find_root(); void set_type(ElementType t) { type = t; };