20 class CtcQInter :
public Ctc<CtcQInter,IntervalVector>
25 CtcQInter(
unsigned int q,
const Collection<CtcBase<IntervalVector>>& c)
27 assert_release(!c.empty());
28 Index n = size_of(c.front());
29 for(
const auto& s : c) {
31 assert_release(size_of(s) == n &&
"all contractors must be of same size");
36 assert_release(q <= c.size());
40 explicit CtcQInter(
unsigned int q, Index n,
const Collection<CtcBase<IntervalVector>>& ctcs = {})
43 std::cout <<
"CtcQInter::CtcQInter(unsigned int q, Index n, ..) is deprecated." << std::endl;
44 std::cout <<
"Use CtcQInter::CtcQInter(unsigned int q, ..) instead." << std::endl;
45 assert_release(n > 0);
46 assert_release(q <= ctcs.size());
50 requires (IsCtcBaseOrPtr<C,IntervalVector> && !std::is_same_v<CtcQInter,C>)
51 CtcQInter(
unsigned int q,
const C& c)
55 template<
typename... C>
56 requires (IsCtcBaseOrPtr<C,IntervalVector> && ...)
57 CtcQInter(
unsigned int q,
const C&... c)
58 : CtcQInter(q, {c...})
68 Collection<CtcBase<IntervalVector>> _ctcs;
Definition codac2_OctaSym.h:21
Eigen::Matrix< Interval,-1, 1 > IntervalVector
Alias for a dynamic-size column vector of intervals.
Definition codac2_IntervalVector.h:25