19 class SepNot :
public Sep<SepNot>
23 SepNot(
const IntervalVector& x)
24 : Sep<SepNot>(x.size()), _sep(SepWrapper(x))
28 requires (IsSepBaseOrPtr<S> && !std::is_same_v<SepNot,S>)
30 : Sep<SepNot>(size_of(s)), _sep(s)
33 BoxPair separate(
const IntervalVector& x)
const
35 assert_release(x.size() == this->size());
37 auto x_sep = _sep.front().separate(x);
38 assert((x_sep.outer | x_sep.inner) == x);
39 return { x_sep.outer , x_sep.inner };
44 const Collection<SepBase> _sep;
48 requires std::is_base_of_v<SepBase,S>
49 SepNot operator!(
const S& s)