24 #ifndef PPL_Widening_Function_defs_hh
25 #define PPL_Widening_Function_defs_hh 1
30 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
33 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
34 template <
typename PSET>
49 void operator()(PSET& x,
const PSET& y,
unsigned* tp = 0)
const;
57 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
60 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
61 template <
typename PSET,
typename CSYS>
86 void operator()(PSET& x,
const PSET& y,
unsigned* tp = 0)
const;
104 template <
typename PSET>
106 widen_fun_ref(
void (PSET::* wm)(
const PSET&,
unsigned*));
118 template <
typename PSET,
typename CSYS>
120 widen_fun_ref(
void (PSET::* lwm)(
const PSET&,
const CSYS&,
unsigned*),
127 #endif // !defined(PPL_Widening_Function_defs_hh)
void operator()(PSET &x, const PSET &y, unsigned *tp=0) const
Function-application operator.
Widening_Method w_method
The widening method.
Limited_Widening_Method lw_method
The limited widening method.
const CSYS & limiting_cs
A constant reference to the constraint system limiting the widening.
Limited_Widening_Function(Limited_Widening_Method lwm, const CSYS &cs)
Constructor.
void(PSET::* Widening_Method)(const PSET &, unsigned *)
The (parametric) type of a widening method.
void operator()(PSET &x, const PSET &y, unsigned *tp=0) const
Function-application operator.
The entire library is confined to this namespace.
Wraps a limited widening method into a function object.
Widening_Function(Widening_Method wm)
Explicit unary constructor.
void(PSET::* Limited_Widening_Method)(const PSET &, const CSYS &, unsigned *)
The (parametric) type of a limited widening method.
Wraps a widening method into a function object.