3#include <QSharedDataPointer>
39 bool operator==(
const Constraint& _rhs)
const {
40 return value == _rhs.value and type == _rhs.type;
42 bool operator!=(
const Constraint& _rhs)
const {
43 return not(*
this == _rhs);
64 template<
typename _T_>
76 template<
typename _T_>
80 QSharedDataPointer<Private> d;
82 template<
typename _T_>
87 template<
typename _T_>
95#include <knowCore/Formatter.h>
97KNOWCORE_CORE_DECLARE_FORMATTER_ENUM(
knowCore::ConstrainedValue::Type, Equal, Different, Inferior, Superior, InferiorEqual, SuperiorEqual, GeoOverlaps, GeoWithin, GeoContains, GeoIntersects, Contains, In);
101 return format_to(ctx.out(),
"{} {}", p.type, p.value);
106 return format_to(ctx.out(),
"{}", fmt::join(p.constraints(),
" and "));
Definition ConstrainedValue.h:14
knowCore::ReturnValue< ValueRange > update(const ValueRange &_range)
Definition ConstrainedValue.cpp:117
ConstrainedValue & apply(const Constraint &_constraint)
Definition ConstrainedValue.cpp:105
Type
Definition ConstrainedValue.h:17
@ GeoOverlaps
such as value overlaps with constraint.value (but they cannot share a boundary)
@ Superior
such as constraint.value < value
@ GeoWithin
such as value is within the constraint.value
@ NotContains
such as list does not contains a value
@ GeoDisjoint
such as value disjoint with constraint.value,
@ InferiorEqual
such as value <= constraint.value
@ GeoTouches
such as value touches with constraint.value,
@ Contains
such as list contains a value
@ Inferior
such as value < constraint.value
@ NotIn
such as one value is not part of a list
@ SuperiorEqual
such as constraint.value <= value
@ GeoIntersects
such as value intersects with constraint.value,
@ GeoContains
such as constraint.value is within the value
@ In
such as one value is part of a list
bool hasConstraints() const
Definition ConstrainedValue.cpp:95
Definition ReturnValue.h:85
Definition ReturnValue.h:29
static Value fromValue(const _T_ &_value)
Definition Value.h:184
Definition ConstrainedValue.cpp:8
Definition ConstrainedValue.h:36