PPL  1.2
globals.cc
Go to the documentation of this file.
1 /* Definitions of global objects.
2  Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
3  Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
4 
5 This file is part of the Parma Polyhedra Library (PPL).
6 
7 The PPL is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 The PPL is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
20 
21 For the most up-to-date information see the Parma Polyhedra Library
22 site: http://bugseng.com/products/ppl/ . */
23 
24 #include "ppl-config.h"
25 #include "globals_defs.hh"
26 #include "Constraint_defs.hh"
27 #include "Generator_defs.hh"
28 
29 namespace Parma_Polyhedra_Library {
30 
32 }
33 
35 
36 // Initialize Weightwatch_Traits static data members.
38 void (*Weightwatch_Traits::check_function)(void) = 0;
39 
40 #ifndef NDEBUG
41 
42 unsigned int In_Assert::count = 0;
43 
44 #endif
45 
46 
49  const dimension_type max,
50  const char* domain,
51  const char* method,
52  const char* reason) {
53  if (dim > max) {
54  std::ostringstream s;
55  s << domain << method << ":" << std::endl
56  << reason << ".";
57  throw std::length_error(s.str());
58  }
59  return dim;
60 }
61 
62 } // namespace Parma_Polyhedra_Library
size_t dimension_type
An unsigned integral type for representing space dimensions.
unsigned long long Threshold
The type used to specify thresholds for computational weight.
virtual ~Throwable()
Virtual destructor.
Definition: globals.cc:31
dimension_type check_space_dimension_overflow(const dimension_type dim, const dimension_type max, const char *domain, const char *method, const char *reason)
Definition: globals.cc:48
static Threshold weight
The current computational weight.
The entire library is confined to this namespace.
Definition: version.hh:61
static unsigned int count
Non zero during evaluation of PPL_ASSERT expression.
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
User objects the PPL can throw.