Add support for identityref data type
Change-Id: I369150b83d86a4c22fadf383ee011eee619a4c15
diff --git a/src/ast_values.hpp b/src/ast_values.hpp
index b9053c0..350fc8d 100644
--- a/src/ast_values.hpp
+++ b/src/ast_values.hpp
@@ -7,6 +7,7 @@
*/
#pragma once
+#include <boost/optional.hpp>
#include <boost/variant.hpp>
struct enum_ {
@@ -23,8 +24,23 @@
std::string m_value;
};
+struct module_ {
+ bool operator==(const module_& b) const;
+ std::string m_name;
+};
+
+struct identityRef_ {
+ identityRef_();
+ identityRef_(const std::string& module, const std::string& value);
+ identityRef_(const std::string& value);
+ bool operator==(const identityRef_& b) const;
+ boost::optional<module_> m_prefix;
+ std::string m_value;
+};
+
using leaf_data_ = boost::variant<enum_,
binary_,
+ identityRef_,
double,
bool,
int32_t,