23 virtual ~Domain() =
default;
26 template<
typename T,
typename V>
27 class DomainInterface :
public Domain
37 virtual V lb()
const = 0;
38 virtual V ub()
const = 0;
39 virtual V mid()
const = 0;
40 virtual V mag()
const = 0;
41 virtual V mig()
const = 0;
42 virtual V rad()
const = 0;
43 virtual V diam()
const = 0;
44 virtual double volume()
const = 0;
45 virtual void set_empty() = 0;
46 virtual bool is_empty()
const = 0;
47 virtual bool contains(
const V& x)
const = 0;
48 virtual bool interior_contains(
const V& x)
const = 0;
49 virtual bool is_unbounded()
const = 0;
50 virtual bool is_degenerated()
const = 0;
51 virtual bool intersects(
const T &x)
const = 0;
52 virtual bool is_disjoint(
const T& x)
const = 0;
53 virtual bool overlaps(
const T &x)
const = 0;
54 virtual bool is_subset(
const T& x)
const = 0;
55 virtual bool is_strict_subset(
const T& x)
const = 0;
56 virtual bool is_interior_subset(
const T& x)
const = 0;
57 virtual bool is_strict_interior_subset(
const T& x)
const = 0;
58 virtual bool is_superset(
const T& x)
const = 0;
59 virtual bool is_strict_superset(
const T& x)
const = 0;
62 template<
typename... X>
63 static double total_volume(
const X&... x)
66 ((v += x.volume()), ...);
Definition codac2_OctaSym.h:21