24 #ifndef PPL_NNC_Polyhedron_inlines_hh
25 #define PPL_NNC_Polyhedron_inlines_hh 1
41 "NNC_Polyhedron(n, k)",
42 "n exceeds the maximum "
43 "allowed space dimension"),
52 "the space dimension of cs "
53 "exceeds the maximum allowed "
61 "NNC_Polyhedron(cs, recycle)",
62 "the space dimension of cs "
63 "exceeds the maximum allowed "
73 "the space dimension of gs "
74 "exceeds the maximum allowed "
82 "NNC_Polyhedron(gs, recycle)",
83 "the space dimension of gs "
84 "exceeds the maximum allowed "
89 template <
typename Interval>
94 "NNC_Polyhedron(box)",
95 "the space dimension of box "
96 "exceeds the maximum allowed "
100 template <
typename U>
106 "NNC_Polyhedron(bd)",
107 "the space dimension of bd "
108 "exceeds the maximum allowed "
114 template <
typename U>
120 "NNC_Polyhedron(os)",
121 "the space dimension of os "
122 "exceeds the maximum allowed "
158 #endif // !defined(PPL_NNC_Polyhedron_inlines_hh)
size_t dimension_type
An unsigned integral type for representing space dimensions.
bool upper_bound_assign_if_exact(const NNC_Polyhedron &y)
Same as poly_hull_assign_if_exact(y).
Polyhedron & operator=(const Polyhedron &y)
The assignment operator. (*this and y can be dimension-incompatible.)
Constraint_System constraints() const
Returns the system of constraints defining *this.
void positive_time_elapse_assign(const Polyhedron &y)
Assigns to *this (the best approximation of) the result of computing the positive time-elapse between...
~NNC_Polyhedron()
Destructor.
Complexity_Class
Complexity pseudo-classes.
The base class for convex polyhedra.
NNC_Polyhedron(dimension_type num_dimensions=0, Degenerate_Element kind=UNIVERSE)
Builds either the universe or the empty NNC polyhedron.
Degenerate_Element
Kinds of degenerate abstract elements.
dimension_type check_space_dimension_overflow(const dimension_type dim, const dimension_type max, const char *domain, const char *method, const char *reason)
A not necessarily closed convex polyhedron.
Constraint_System constraints() const
Returns a system of constraints defining *this.
A not necessarily closed, iso-oriented hyperrectangle.
A closed convex polyhedron.
The universe element, i.e., the whole vector space.
void add_constraints(const Constraint_System &cs)
Adds a copy of the constraints in cs to the system of constraints of *this (without minimizing the re...
void positive_time_elapse_assign_impl(const Polyhedron &y)
Assuming *this is NNC, assigns to *this the result of the "positive time-elapse" between *this and y...
The entire library is confined to this namespace.
bool poly_hull_assign_if_exact(const NNC_Polyhedron &y)
If the poly-hull of *this and y is exact it is assigned to *this and true is returned, otherwise false is returned.
A bounded difference shape.
NNC_Polyhedron & operator=(const NNC_Polyhedron &y)
The assignment operator. (*this and y can be dimension-incompatible.)
void m_swap(Polyhedron &y)
Swaps *this with polyhedron y. (*this and y can be dimension-incompatible.)