19 class SepUnion :
public Sep<SepUnion>
24 requires (IsSepBaseOrPtr<S> && !std::is_same_v<SepUnion,S>)
26 : Sep<SepUnion>(size_of(s)), _seps(s)
29 template<
typename... S>
30 requires (IsSepBaseOrPtr<S> && ...)
31 SepUnion(
const S&... s)
32 : Sep<SepUnion>(size_first_item(s...)), _seps(s...)
34 assert_release(all_same_size(s...));
45 requires IsSepBaseOrPtr<S>
46 SepUnion& operator|=(
const S& s)
48 assert_release(size_of(s) == this->size());
55 Collection<SepBase> _seps;
58 template<
typename S1,
typename S2>
59 requires (IsSepBaseOrPtr<S1> && IsSepBaseOrPtr<S2>)
60 inline SepUnion
operator|(
const S1& s1,
const S2& s2)
62 return SepUnion(s1,s2);
66 requires IsSepBaseOrPtr<S2>
69 assert_release(s1.size() == s2.size());
70 return SepUnion(SepWrapper(s1),s2);
74 requires IsSepBaseOrPtr<S1>
77 assert_release(s1.size() == s2.size());
78 return SepUnion(s1,SepWrapper(s2));
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