checked.inlines.hh File Reference

#include "globals.types.hh"
#include "meta_programming.hh"
#include "C_Integer.hh"
#include <cassert>

Include dependency graph for checked.inlines.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Parma_Polyhedra_Library
namespace  Parma_Polyhedra_Library::Checked

Classes

struct  Parma_Polyhedra_Library::Checked::Safe_Conversion< T1, T2 >
struct  Parma_Polyhedra_Library::Checked::Safe_Conversion< T, T >
struct  Parma_Polyhedra_Library::Checked::Safe_Int_Comparison< T1, T2, Enable >
struct  Parma_Polyhedra_Library::Checked::Safe_Int_Comparison< T1, T2, typename Enable_If<(C_Integer< T1 >::value &&C_Integer< T2 >::value)>::type >

Defines

#define safe_conversion(To, From)   template <> struct Safe_Conversion<To, From> : public True { }
#define COPY_GMP

Functions

 Parma_Polyhedra_Library::Checked::safe_conversion (signed short, signed char)
 Parma_Polyhedra_Library::Checked::safe_conversion (signed long long, signed char)
 Parma_Polyhedra_Library::Checked::safe_conversion (signed long long, signed short)
 Parma_Polyhedra_Library::Checked::safe_conversion (unsigned short, unsigned char)
 Parma_Polyhedra_Library::Checked::safe_conversion (unsigned long, unsigned char)
 Parma_Polyhedra_Library::Checked::safe_conversion (unsigned long long, unsigned char)
 Parma_Polyhedra_Library::Checked::safe_conversion (double, float)
 Parma_Polyhedra_Library::Checked::safe_conversion (long double, float)
 Parma_Polyhedra_Library::Checked::safe_conversion (long double, double)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpz_class, signed char)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpz_class, unsigned char)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpq_class, signed char)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpq_class, unsigned char)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpq_class, float)
 Parma_Polyhedra_Library::Checked::safe_conversion (mpq_class, double)
template<typename Policy, typename Type>
struct Parma_Polyhedra_Library::Checked::FUNCTION_CLASS (construct)< Policy
template<typename To_Policy, typename To>
struct Parma_Polyhedra_Library::Checked::FUNCTION_CLASS (construct_special)
template<typename To_Policy, typename From_Policy, typename To, typename From>
Result Parma_Polyhedra_Library::Checked::assign_exact (To &to, const From &from, Rounding_Dir)
template<typename To_Policy, typename From_Policy, typename Type>
Enable_If< Is_Same< To_Policy,
From_Policy >::value, void >
::type 
Parma_Polyhedra_Library::Checked::copy_generic (Type &to, const Type &from)
template<typename To_Policy, typename From_Policy, typename To, typename From>
Result Parma_Polyhedra_Library::Checked::abs_generic (To &to, const From &from, Rounding_Dir dir)
Result Parma_Polyhedra_Library::Checked::neg (Result r)
Result Parma_Polyhedra_Library::Checked::add (Result r1, Result r2)
Result Parma_Polyhedra_Library::Checked::sub (Result r1, Result r2)
template<typename To_Policy, typename From1_Policy, typename From2_Policy, typename To, typename From>
void Parma_Polyhedra_Library::Checked::gcd_exact_noabs (To &to, const From &x, const From &y)
template<typename To_Policy, typename From1_Policy, typename From2_Policy, typename To, typename From1, typename From2>
Result Parma_Polyhedra_Library::Checked::gcd_exact (To &to, const From1 &x, const From2 &y, Rounding_Dir dir)
template<typename To1_Policy, typename To2_Policy, typename To3_Policy, typename From1_Policy, typename From2_Policy, typename To1, typename To2, typename To3, typename From1, typename From2>
Result Parma_Polyhedra_Library::Checked::gcdext_exact (To1 &to, To2 &s, To3 &t, const From1 &x, const From2 &y, Rounding_Dir dir)
template<typename To_Policy, typename From1_Policy, typename From2_Policy, typename To, typename From1, typename From2>
Result Parma_Polyhedra_Library::Checked::lcm_gcd_exact (To &to, const From1 &x, const From2 &y, Rounding_Dir dir)
template<typename Policy, typename Type>
Result Parma_Polyhedra_Library::Checked::sgn_generic (const Type &x)
template<typename T1, typename T2>
Enable_If<(Safe_Int_Comparison
< T1, T2 >::value||Safe_Conversion
< T1, T2 >::value||Safe_Conversion
< T2, T1 >::value), bool >
::type 
Parma_Polyhedra_Library::Checked::lt (const T1 &x, const T2 &y)
template<typename T1, typename T2>
Enable_If<(Safe_Int_Comparison
< T1, T2 >::value||Safe_Conversion
< T1, T2 >::value||Safe_Conversion
< T2, T1 >::value), bool >
::type 
Parma_Polyhedra_Library::Checked::le (const T1 &x, const T2 &y)
template<typename T1, typename T2>
Enable_If<(Safe_Int_Comparison
< T1, T2 >::value||Safe_Conversion
< T1, T2 >::value||Safe_Conversion
< T2, T1 >::value), bool >
::type 
Parma_Polyhedra_Library::Checked::eq (const T1 &x, const T2 &y)
template<typename S, typename U>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::lt (const S &x, const U &y)
template<typename U, typename S>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::lt (const U &x, const S &y)
template<typename S, typename U>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::le (const S &x, const U &y)
template<typename U, typename S>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::le (const U &x, const S &y)
template<typename S, typename U>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::eq (const S &x, const U &y)
template<typename U, typename S>
Enable_If
<(!Safe_Int_Comparison< S, U >
::value &&C_Integer< U >
::value &&C_Integer< S >
::is_signed), bool >::type 
Parma_Polyhedra_Library::Checked::eq (const U &x, const S &y)
template<typename Policy1, typename Policy2, typename Type1, typename Type2>
bool Parma_Polyhedra_Library::Checked::lt_p (const Type1 &x, const Type2 &y)
template<typename Policy1, typename Policy2, typename Type1, typename Type2>
bool Parma_Polyhedra_Library::Checked::le_p (const Type1 &x, const Type2 &y)
template<typename Policy1, typename Policy2, typename Type1, typename Type2>
bool Parma_Polyhedra_Library::Checked::eq_p (const Type1 &x, const Type2 &y)
template<typename Policy1, typename Policy2, typename Type1, typename Type2>
Result Parma_Polyhedra_Library::Checked::cmp_generic (const Type1 &x, const Type2 &y)
template<typename Policy, typename Type>
Result Parma_Polyhedra_Library::Checked::input_generic (Type &to, std::istream &is, Rounding_Dir dir)


Define Documentation

#define COPY_GMP

#define safe_conversion ( To,
From   )     template <> struct Safe_Conversion<To, From> : public True { }

Definition at line 39 of file checked.inlines.hh.


Generated on Sat Oct 11 10:39:48 2008 for PPL by  doxygen 1.5.6