PPL  1.2
Parma_Polyhedra_Library::Throwable Class Referenceabstract

User objects the PPL can throw. More...

#include <globals_defs.hh>

Public Member Functions

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

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. More...
 

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 239 of file globals_defs.hh.

Constructor & Destructor Documentation

Parma_Polyhedra_Library::Throwable::~Throwable ( )
virtual

Virtual destructor.

Definition at line 31 of file globals.cc.

31  {
32 }

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 75 of file globals_inlines.hh.

75  {
76 #ifndef NDEBUG
77  if (In_Assert::asserting()) {
78  return;
79  }
80 #endif
83  }
84  if (const Throwable* const p = abandon_expensive_computations) {
85  p->throw_me();
86  }
87 }
static void(* check_function)(void)
A pointer to the function that has to be called when checking the reaching of thresholds.
const Throwable *volatile abandon_expensive_computations
A pointer to an exception object.
Definition: globals.cc:34

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