diff options
Diffstat (limited to 'src/Common/XmlData.h')
-rw-r--r-- | src/Common/XmlData.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Common/XmlData.h b/src/Common/XmlData.h index 51e5327..b7e8ec1 100644 --- a/src/Common/XmlData.h +++ b/src/Common/XmlData.h @@ -26,6 +26,7 @@ #include <Core/Exception.h> #include <map> +#include <set> #include <string> #include <sstream> #include <vector> @@ -283,6 +284,24 @@ class MAD_COMMON_EXPORT XmlData { return; } + + std::set<std::string> getChildren() const { + std::set<std::string> childNames; + + for(std::map<std::string, Element*>::const_iterator it = elements.begin(); it != elements.end(); ++it) + childNames.insert(it->first); + + return childNames; + } + + std::set<std::string> getLists() const { + std::set<std::string> listNames; + + for(std::map<std::string, List*>::const_iterator it = lists.begin(); it != lists.end(); ++it) + listNames.insert(it->first); + + return listNames; + } }; class MAD_COMMON_EXPORT List : private boost::noncopyable { |