#pragma once #include #include #include #include namespace jvalidate::constraint { struct AdditionalItemsConstraint { schema::Node const * subschema; size_t applies_after_nth; }; struct ContainsConstraint { schema::Node const * subschema; std::optional minimum = std::nullopt; std::optional maximum = std::nullopt; }; struct MaxItemsConstraint { int64_t value; }; struct MinItemsConstraint { int64_t value; }; struct TupleConstraint { std::vector items; }; struct UnevaluatedItemsConstraint { schema::Node const * subschema; }; struct UniqueItemsConstraint {}; }