general_constraint.h 732 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include <memory>
  3. #include <set>
  4. #include <vector>
  5. #include <jvalidate/forward.h>
  6. #include <jvalidate/status.h>
  7. namespace jvalidate::constraint {
  8. struct AllOfConstraint {
  9. std::vector<SubConstraint> children;
  10. };
  11. struct AnyOfConstraint {
  12. std::vector<SubConstraint> children;
  13. };
  14. struct EnumConstraint {
  15. std::vector<std::unique_ptr<adapter::Const const>> enumeration;
  16. };
  17. struct OneOfConstraint {
  18. std::vector<schema::Node const *> children;
  19. };
  20. struct ConditionalConstraint {
  21. schema::Node const * if_constraint;
  22. schema::Node const * then_constraint;
  23. schema::Node const * else_constraint;
  24. };
  25. struct NotConstraint {
  26. SubConstraint child;
  27. };
  28. struct TypeConstraint {
  29. std::set<adapter::Type> types;
  30. };
  31. }