Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS > Class Template Reference
[C++ Language Interface]

Wraps a limited widening method into a function object. More...

#include <Widening_Function.defs.hh>

Collaboration diagram for Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef void(PH::* Limited_Widening_Method )(const PH &, const CS &, unsigned *)
 The (parametric) type of a limited widening method.

Public Member Functions

 Limited_Widening_Function (Limited_Widening_Method lwm, const CS &cs)
 Constructor.
void operator() (PH &x, const PH &y, unsigned *tp=0) const
 Function-application operator.

Private Attributes

Limited_Widening_Method lw_method
 The limited widening method.
const CS & limiting_cs
 A constant reference to the constraint system limiting the widening.


Detailed Description

template<typename PH, typename CS>
class Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >

Wraps a limited widening method into a function object.

Definition at line 61 of file Widening_Function.defs.hh.


Member Typedef Documentation

template<typename PH, typename CS>
typedef void(PH::* Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::Limited_Widening_Method)(const PH &, const CS &, unsigned *)

The (parametric) type of a limited widening method.


Constructor & Destructor Documentation

template<typename PH, typename CS>
Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::Limited_Widening_Function ( Limited_Widening_Method  lwm,
const CS &  cs 
) [inline]

Constructor.

Parameters:
lwm The limited widening method.
cs The constraint system limiting the widening.

Definition at line 44 of file Widening_Function.inlines.hh.

00046   : lw_method(lwm), limiting_cs(cs) {
00047 }


Member Function Documentation

template<typename PH, typename CS>
void Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::operator() ( PH &  x,
const PH &  y,
unsigned *  tp = 0 
) const [inline]

Function-application operator.

Computes (x.*lwm)(y, cs, tp), where lwm and cs are the limited widening method and the constraint system stored at construction time.

Definition at line 52 of file Widening_Function.inlines.hh.

References Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::limiting_cs, and Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::lw_method.

00052                                                    {
00053   (x.*lw_method)(y, limiting_cs, tp);
00054 }


Member Data Documentation

template<typename PH, typename CS>
Limited_Widening_Method Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::lw_method [private]

The limited widening method.

Definition at line 89 of file Widening_Function.defs.hh.

Referenced by Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::operator()().

template<typename PH, typename CS>
const CS& Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::limiting_cs [private]

A constant reference to the constraint system limiting the widening.

Definition at line 91 of file Widening_Function.defs.hh.

Referenced by Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS >::operator()().


The documentation for this class was generated from the following files:

Generated on Wed Jul 16 22:55:51 2008 for PPL by  doxygen 1.5.6