#pragma once #include #include #include #include #include namespace jvalidate::constraint { struct AllOfConstraint { std::vector children; }; struct AnyOfConstraint { std::vector children; }; struct EnumConstraint { std::vector> enumeration; }; struct OneOfConstraint { std::vector children; }; struct ConditionalConstraint { schema::Node const * if_constraint; schema::Node const * then_constraint; schema::Node const * else_constraint; }; struct NotConstraint { SubConstraint child; }; struct TypeConstraint { std::set types; }; struct ExtensionConstraint {}; }