codac 1.5.6
Loading...
Searching...
No Matches
codac2_SepChi.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <memory>
13#include "codac2_Collection.h"
15#include "codac2_Sep.h"
17
18namespace codac2
19{
24 class SepChi : public Sep<SepChi>
25 {
26 public:
27
28 template<typename S1, typename S2, typename S3>
29 requires IsSepBaseOrPtr<S1> && IsSepBaseOrPtr<S2> && IsSepBaseOrPtr<S3>
30 SepChi(const S1& Sa, const S2& Sb, const S3& Sc)
31 : Sep<SepChi>(size_of(Sa)), _seps({Sa, Sb, Sc})
32 {
33 assert_release(size_of(Sa) == size_of(Sb) && size_of(Sa) == size_of(Sc)
34 && "size of Sa, Sb, and Sc should be the same");
35 }
36
37 BoxPair separate(const IntervalVector& x) const;
38
39 protected:
40
41 const Collection<SepBase> _seps;
42 };
43}