codac
1.5.6
Loading...
Searching...
No Matches
src
core
separators
codac2_SepAction.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include <type_traits>
13
#include "
codac2_Sep.h
"
14
#include "
codac2_Collection.h
"
15
#include "
codac2_OctaSym.h
"
16
17
namespace
codac2
18
{
19
class
SepAction :
public
Sep<SepAction>
20
{
21
public
:
22
23
template
<
typename
S>
24
requires
IsSepBaseOrPtr<S>
25
SepAction(
const
S& s,
const
OctaSym& a)
26
: Sep<SepAction>(a.size()), _sep(s), _s(a), __s(a.invert())
27
{
28
assert_release(size_of(s) == (Index)a.size());
29
}
30
31
BoxPair separate(
const
IntervalVector& x)
const
;
32
33
protected
:
34
35
const
Collection<SepBase> _sep;
36
const
OctaSym _s, __s;
37
};
38
39
template
<
typename
S>
40
requires
is_sep_v<S>
41
inline
SepAction OctaSym::operator()(
const
S& s)
const
42
{
43
return
SepAction(s, *
this
);
44
}
45
}
codac2_Collection.h
codac2_OctaSym.h
codac2_Sep.h
Generated by
1.13.0