23 class SepWrapper :
public Sep<SepWrapper<T>>
27 SepWrapper(
const T& y)
28 : Sep<SepWrapper<T>>(y.size()), _y(y)
39 class SepWrapper<IntervalVector> :
public SepCtcPair
43 SepWrapper(
const IntervalVector& y)
44 : SepCtcPair(complementary_union(y), CtcWrapper<IntervalVector>(y))
47 BoxPair separate(
const IntervalVector& x)
const;
51 CtcUnion<IntervalVector> complementary_union(
const IntervalVector& y)
const
53 CtcUnion<IntervalVector> cu(y.size());
54 for(
const auto& complem_y : y.complementary())
55 cu |= CtcWrapper<IntervalVector>(complem_y);
61 class SepWrapper<PavingInOut>:
public Sep<SepWrapper<PavingInOut>>
65 SepWrapper(
const PavingInOut& P)
66 : Sep<SepWrapper<PavingInOut>>(P.size()), _P(P)
69 BoxPair separate(
const IntervalVector& x)
const;