Add support for union leafs
Change-Id: Ifc1a53eed2c059f6fe5d75544ecaa3e63028f78f
diff --git a/src/leaf_data_type.hpp b/src/leaf_data_type.hpp
index 66f4522..a86691b 100644
--- a/src/leaf_data_type.hpp
+++ b/src/leaf_data_type.hpp
@@ -10,6 +10,7 @@
#include <set>
#include <string>
#include <variant>
+#include <vector>
struct enum_;
struct identityRef_;
@@ -62,6 +63,7 @@
std::set<identityRef_> m_allowedValues;
};
struct LeafRef;
+struct Union;
using LeafDataType = std::variant<
yang::String,
yang::Decimal,
@@ -77,7 +79,8 @@
yang::Enum,
yang::Binary,
yang::IdentityRef,
- yang::LeafRef
+ yang::LeafRef,
+ yang::Union
>;
struct LeafRef {
LeafRef(const LeafRef& src);
@@ -86,4 +89,9 @@
std::string m_targetXPath;
std::unique_ptr<LeafDataType> m_targetType;
};
+
+struct Union {
+ bool operator==(const Union& other) const;
+ std::vector<LeafDataType> m_unionTypes;
+};
}