Parma_Polyhedra_Library::Throwable Class Reference
[C++ Language Interface]

User objects the PPL can throw. More...

#include <globals.defs.hh>

List of all members.

Public Member Functions

virtual void throw_me () const =0
 Throws the user defined exception object.
virtual ~Throwable ()
 Virtual destructor.

Related Functions

(Note that these are not member functions.)



void maybe_abandon ()
 If the pointer abandon_expensive_computations is found to be nonzero, the exception it points to is thrown.

Detailed Description

User objects the PPL can throw.

This abstract base class should be instantiated by those users willing to provide a polynomial upper bound to the time spent by any invocation of a library operator.

Definition at line 183 of file globals.defs.hh.


Constructor & Destructor Documentation

Parma_Polyhedra_Library::Throwable::~Throwable (  )  [inline, virtual]

Virtual destructor.

Definition at line 53 of file globals.inlines.hh.

00053                       {
00054 }


Member Function Documentation

virtual void Parma_Polyhedra_Library::Throwable::throw_me (  )  const [pure virtual]

Throws the user defined exception object.


Friends And Related Function Documentation

void maybe_abandon (  )  [related]

If the pointer abandon_expensive_computations is found to be nonzero, the exception it points to is thrown.

Definition at line 57 of file globals.inlines.hh.

00057                 {
00058 #ifndef NDEBUG
00059   if (Implementation::in_assert)
00060     return;
00061 #endif
00062   if (Weightwatch_Traits::check_function)
00063     Weightwatch_Traits::check_function();
00064   if (const Throwable* p = abandon_expensive_computations)
00065     p->throw_me();
00066 }


The documentation for this class was generated from the following files:
Generated on Sun Feb 27 16:20:20 2011 for PPL by  doxygen 1.6.3