PPL  1.2
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CParma_Polyhedra_Library::Affine_SpaceAn affine space
 CParma_Polyhedra_Library::Is_Same_Or_Derived< Base, Derived >::AnyA class that is constructible from just anything
 CParma_Polyhedra_Library::Any_PointsetAny PPL pointset
 CParma_Polyhedra_Library::OR_Matrix< T >::any_row_iterator< U >A template class to derive both OR_Matrix::iterator and OR_Matrix::const_iterator
 CParma_Polyhedra_Library::Approximable_Reference< Target >A concrete expression representing a reference to some approximable
 CParma_Polyhedra_Library::Approximable_Reference_Common< Target >Base class for references to some approximable
 CParma_Polyhedra_Library::Ask_Tell< D >The ask and tell construction on a base-level domain
 CParma_Polyhedra_Library::Ask_Tell< Parma_Polyhedra_Library::Determinate< PSET > >
 CParma_Polyhedra_Library::Ask_Tell_Pair< D >A pair of ask and tell descriptions
 Cbasic_streambuf
 CParma_Polyhedra_Library::BD_Shape< T >A bounded difference shape
 CParma_Polyhedra_Library::BD_Shape_Helpers
 CParma_Polyhedra_Library::BHRZ03_CertificateThe convergence certificate for the BHRZ03 widening operator
 CParma_Polyhedra_Library::Binary_Operator< Target >A binary operator applied to two concrete expressions
 CParma_Polyhedra_Library::Determinate< PSET >::Binary_Operator_Assign_Lifter< Binary_Operator_Assign >A function adapter for the Determinate class
 CParma_Polyhedra_Library::Binary_Operator_Common< Target >Base class for binary operator applied to two concrete expressions
 CParma_Polyhedra_Library::Bit_MatrixA matrix of bits
 CParma_Polyhedra_Library::Bit_RowA row in a matrix of bits
 CParma_Polyhedra_Library::Bit_Matrix::Bit_Row_Less_ThanOrdering predicate (used when implementing the sort algorithm)
 CParma_Polyhedra_Library::Bool< b >A class holding a constant called value that evaluates to b
 CParma_Polyhedra_Library::Bool< false >
 CParma_Polyhedra_Library::Bool< Is_Native< T >::value||Is_Checked< T >::value >
 CParma_Polyhedra_Library::Bool< Slow_Copy< T >::value >
 CParma_Polyhedra_Library::Bool< true >
 CParma_Polyhedra_Library::Box< ITV >A not necessarily closed, iso-oriented hyperrectangle
 CParma_Polyhedra_Library::Box_Helpers
 CParma_Polyhedra_Library::Cast_Operator< Target >A cast operator converting one concrete expression to some type
 CParma_Polyhedra_Library::Cast_Operator_Common< Target >Base class for cast operator concrete expressions
 CParma_Polyhedra_Library::Check_Overflow_Policy< T >A policy checking for overflows
 CParma_Polyhedra_Library::Checked_Number< T, Policy >A wrapper for numeric types implementing a given policy
 CParma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >
 CParma_Polyhedra_Library::CO_TreeA cache-oblivious binary search tree of pairs
 CParma_Polyhedra_Library::Coefficient_traits_template< Coefficient >Coefficient traits
 CParma_Polyhedra_Library::Coefficient_traits_template< GMP_Integer >Coefficient traits specialization for unbounded integers
 CParma_Polyhedra_Library::BHRZ03_Certificate::CompareA total ordering on BHRZ03 certificates
 CParma_Polyhedra_Library::Grid_Certificate::CompareA total ordering on Grid certificates
 CParma_Polyhedra_Library::Variable::CompareBinary predicate defining the total ordering on variables
 CParma_Polyhedra_Library::H79_Certificate::CompareA total ordering on H79 certificates
 CParma_Polyhedra_Library::Compile_Time_Check< b >A class that is only defined if b evaluates to true
 CParma_Polyhedra_Library::Compile_Time_Check< true >A class that is only defined if b evaluates to true
 CParma_Polyhedra_Library::Concrete_Expression< Target >The base class of all concrete expressions
 CParma_Polyhedra_Library::Concrete_Expression_Common< Target >Base class for all concrete expressions
 CParma_Polyhedra_Library::Concrete_Expression_TypeThe type of a concrete expression
 CParma_Polyhedra_Library::CongruenceA linear congruence
 CParma_Polyhedra_Library::Congruence_SystemA system of congruences
 CParma_Polyhedra_Library::Congruences_Reduction< D1, D2 >This class provides the reduction method for the Congruences_Product domain
 CParma_Polyhedra_Library::CO_Tree::const_iteratorA const iterator on the tree elements, ordered by key
 CParma_Polyhedra_Library::Linear_Expression::const_iterator
 CParma_Polyhedra_Library::DB_Matrix< T >::const_iteratorA read-only iterator over the rows of the matrix
 CParma_Polyhedra_Library::Dense_Row::const_iterator
 CParma_Polyhedra_Library::MIP_Problem::const_iteratorA read-only iterator on the constraints defining the feasible region
 Cconst_iterator_interface
 CParma_Polyhedra_Library::Linear_Expression_Interface::const_iterator_interface
 CParma_Polyhedra_Library::const_iterator_to_const< Container >A const_iterator on a sequence of read-only objects
 CParma_Polyhedra_Library::ConstraintA linear equality or inequality
 CParma_Polyhedra_Library::Constraint_SystemA system of constraints
 CParma_Polyhedra_Library::Constraints_Reduction< D1, D2 >This class provides the reduction method for the Constraints_Product domain
 CParma_Polyhedra_Library::DB_Matrix< T >The base class for the square matrices
 CParma_Polyhedra_Library::DB_Matrix< Parma_Polyhedra_Library::Checked_Number >
 CParma_Polyhedra_Library::DB_Row_Impl_Handler< T >The handler of the actual DB_Row implementation
 CParma_Polyhedra_Library::Debug_WRD_Extended_Number_Policy
 CParma_Polyhedra_Library::Dense_RowA finite sequence of coefficients
 CParma_Polyhedra_Library::Determinate< PSET >A wrapper for PPL pointsets, providing them with a determinate constraint system interface, as defined in [Bag98]
 CParma_Polyhedra_Library::Dirty_Temp< T, Enable >A structure for the efficient handling of temporaries
 CParma_Polyhedra_Library::Domain_Product< D1, D2 >This class is temporary and will be removed when template typedefs will be supported in C++
 CParma_Polyhedra_Library::Implementation::Doubly_Linked_ObjectA (base) class for doubly linked objects
 CParma_Polyhedra_Library::Implementation::EList_Iterator< T >A class providing iterators for embedded lists
 CParma_Polyhedra_Library::Enable_If< b, T >A class that provides a type member called type equivalent to T if and only if b is true
 CParma_Polyhedra_Library::Enable_If< true, T >A class that provides a type member called type equivalent to T if and only if b is true
 CParma_Polyhedra_Library::Enable_If_Is< Type, Type, T >
 CParma_Polyhedra_Library::Euclidean_Distance_Specialization< Temp >
 CParma_Polyhedra_Library::Expression_Adapter_BaseAdapters' base type (for template meta-programming)
 CParma_Polyhedra_Library::Checked::Extended_Int< Policy, Type >
 CParma_Polyhedra_Library::Extended_Number_Policy
 CParma_Polyhedra_Library::Fit< T, v, typename Enable_If< C_Integer< T >::value >::type >
 CParma_Polyhedra_Library::Checked::Float_2exp
 CParma_Polyhedra_Library::float_ibm_double
 CParma_Polyhedra_Library::float_ibm_single
 CParma_Polyhedra_Library::float_ieee754_double
 CParma_Polyhedra_Library::float_ieee754_half
 CParma_Polyhedra_Library::float_ieee754_quad
 CParma_Polyhedra_Library::float_ieee754_single
 CParma_Polyhedra_Library::float_intel_double_extended
 CParma_Polyhedra_Library::Floating_Point_Constant< Target >A floating-point constant concrete expression
 CParma_Polyhedra_Library::Floating_Point_Constant_Common< Target >Base class for floating-point constant concrete expression
 CParma_Polyhedra_Library::Floating_Point_Expression< FP_Interval_Type, FP_Format >
 CParma_Polyhedra_Library::FP_Oracle< Target, FP_Interval_Type >An abstract class to be implemented by an external analyzer such as ECLAIR in order to provide to the PPL the necessary information for performing the analysis of floating point computations
 CParma_Polyhedra_Library::Temp_Item< T >::Free_List
 CParma_Polyhedra_Library::GeneratorA line, ray, point or closure point
 CParma_Polyhedra_Library::Generator_SystemA system of generators
 CParma_Polyhedra_Library::GMP_IntegerUnbounded integers as provided by the GMP library
 CParma_Polyhedra_Library::GridA grid
 CParma_Polyhedra_Library::Grid_CertificateThe convergence certificate for the Grid widening operator
 CParma_Polyhedra_Library::Grid_GeneratorA grid line, parameter or grid point
 CParma_Polyhedra_Library::Grid_Generator_SystemA system of grid generators
 CParma_Polyhedra_Library::H79_CertificateA convergence certificate for the H79 widening operator
 CParma_Polyhedra_Library::Implementation::Watchdog::HandlerAbstract base class for handlers of the watchdog events
 CParma_Polyhedra_Library::I_Constraint_Base
 CParma_Polyhedra_Library::I_Constraint_Rel
 CParma_Polyhedra_Library::ia32_fenv_t
 CParma_Polyhedra_Library::DB_Row_Impl_Handler< T >::ImplThe real implementation of a DB_Row object
 CParma_Polyhedra_Library::Dense_Row::Impl
 CParma_Polyhedra_Library::Concrete_Expression_Type::ImplementationA 32-bit word encoding the type
 CParma_Polyhedra_Library::In_Assert
 CParma_Polyhedra_Library::Implementation::Indirect_Sort_Compare< RA_Container, Compare >
 CParma_Polyhedra_Library::Implementation::Indirect_Swapper< RA_Container >
 CParma_Polyhedra_Library::Implementation::Indirect_Swapper2< RA_Container1, RA_Container2 >
 CParma_Polyhedra_Library::Implementation::Indirect_Unique_Compare< RA_Container >
 CInfo
 CParma_Polyhedra_Library::MIP_Problem::Inherit_ConstraintsA tag type to distinguish normal vs. inheriting copy constructor
 CParma_Polyhedra_Library::InitClass for initialization and finalization
 CParma_Polyhedra_Library::Threshold_Watcher< Traits >::Initialize
 CParma_Polyhedra_Library::Integer_Constant< Target >An integer constant concrete expression
 CParma_Polyhedra_Library::Integer_Constant_Common< Target >Base class for integer constant concrete expressions
 CParma_Polyhedra_Library::Integer_Interval_Info_Policy
 CParma_Polyhedra_Library::Interval_Base
 CParma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >
 CParma_Polyhedra_Library::Interval_Info_Null< Policy >
 CParma_Polyhedra_Library::Is_Same_Or_Derived< Base, Derived >A class holding a constant called value that evaluates to true if and only if Base is the same type as Derived or Derived is a class derived from Base
 CParma_Polyhedra_Library::Is_Same_Or_Derived< Interval_Base, T >
 CParma_Polyhedra_Library::is_signed||sizeof(T1)< sizeof(T2)||sizeof(T1)< sizeof(int)))>
 CParma_Polyhedra_Library::CO_Tree::iteratorAn iterator on the tree elements, ordered by key
 CParma_Polyhedra_Library::Dense_Row::iterator
 Citerator
 CParma_Polyhedra_Library::iterator_to_const< Container >An iterator on a sequence of read-only objects
 CParma_Polyhedra_Library::L_Infinity_Distance_Specialization< Temp >
 CParma_Polyhedra_Library::Checked::Larger< T >
 CParma_Polyhedra_Library::Checked::Larger< char >
 CParma_Polyhedra_Library::Checked::Larger< signed char >
 CParma_Polyhedra_Library::Checked::Larger< signed int >
 CParma_Polyhedra_Library::Checked::Larger< signed long >
 CParma_Polyhedra_Library::Checked::Larger< signed long long >
 CParma_Polyhedra_Library::Checked::Larger< signed short >
 CParma_Polyhedra_Library::Checked::Larger< unsigned char >
 CParma_Polyhedra_Library::Checked::Larger< unsigned int >
 CParma_Polyhedra_Library::Checked::Larger< unsigned long >
 CParma_Polyhedra_Library::Checked::Larger< unsigned long long >
 CParma_Polyhedra_Library::Checked::Larger< unsigned short >
 CParma_Polyhedra_Library::Limited_Widening_Function< PSET, CSYS >Wraps a limited widening method into a function object
 CParma_Polyhedra_Library::Linear_ExpressionA linear expression
 CParma_Polyhedra_Library::Linear_Expression_InterfaceA linear expression
 CParma_Polyhedra_Library::Linear_Form< C >A linear form with interval coefficients
 CParma_Polyhedra_Library::Linear_System< Row >The base class for systems of constraints and generators
 CParma_Polyhedra_Library::Linear_System< Parma_Polyhedra_Library::Constraint >
 CParma_Polyhedra_Library::Linear_System< Parma_Polyhedra_Library::Generator >
 CParma_Polyhedra_Library::Linear_System< Parma_Polyhedra_Library::Grid_Generator >
 CParma_Polyhedra_Library::Linear_System_With_Bit_Matrix_iterator< Row >
 CParma_Polyhedra_Library::Matrix< Row >A sparse matrix of Coefficient
 CParma_Polyhedra_Library::Matrix< Parma_Polyhedra_Library::Sparse_Row >
 CParma_Polyhedra_Library::maybe_assign_struct< To, From >
 CParma_Polyhedra_Library::maybe_assign_struct< Type, Type >
 CParma_Polyhedra_Library::Minus_Infinity
 CParma_Polyhedra_Library::MIP_ProblemA Mixed Integer (linear) Programming problem
 CParma_Polyhedra_Library::Native_Checked_From_Wrapper< T, Enable >
 CParma_Polyhedra_Library::Native_Checked_From_Wrapper< Checked_Number< T, P > >
 CParma_Polyhedra_Library::Native_Checked_From_Wrapper< T, typename Enable_If< Is_Native< T >::value >::type >
 CParma_Polyhedra_Library::Native_Checked_To_Wrapper< T, Enable >
 CParma_Polyhedra_Library::Native_Checked_To_Wrapper< Checked_Number< T, P > >
 CParma_Polyhedra_Library::Native_Checked_To_Wrapper< T, typename Enable_If< Is_Native< T >::value >::type >
 CParma_Polyhedra_Library::PIP_Solution_Node::No_ConstraintsA tag type to select the alternative copy constructor
 CParma_Polyhedra_Library::No_Reduction< D1, D2 >This class provides the reduction method for the Direct_Product domain
 CParma_Polyhedra_Library::Not_A_Number
 CParma_Polyhedra_Library::Checked::number_struct
 CParma_Polyhedra_Library::Numeric_Format
 Cstd::numeric_limits< mpq_class >Specialization of std::numeric_limits
 Cstd::numeric_limits< mpz_class >Specialization of std::numeric_limits
 CParma_Polyhedra_Library::Octagonal_Shape< T >An octagonal shape
 CParma_Polyhedra_Library::Octagonal_Shape_Helper
 CParma_Polyhedra_Library::OR_Matrix< T >A matrix representing octagonal constraints
 CParma_Polyhedra_Library::OR_Matrix< Parma_Polyhedra_Library::Checked_Number >
 CParma_Polyhedra_Library::Partial_Function
 CParma_Polyhedra_Library::Partially_Reduced_Product< D1, D2, R >The partially reduced product of two abstractions
 CParma_Polyhedra_Library::Implementation::Watchdog::Pending_List< Traits >An ordered list for recording pending watchdog events
 CParma_Polyhedra_Library::PIP_ProblemA Parametric Integer (linear) Programming problem
 CParma_Polyhedra_Library::PIP_Tree_NodeA node of the PIP solution tree
 CParma_Polyhedra_Library::Plus_Infinity
 CParma_Polyhedra_Library::Poly_Con_RelationThe relation between a polyhedron and a constraint
 CParma_Polyhedra_Library::Poly_Gen_RelationThe relation between a polyhedron and a generator
 CParma_Polyhedra_Library::PolyhedronThe base class for convex polyhedra
 CParma_Polyhedra_Library::Powerset< D >The powerset construction on a base-level domain
 CParma_Polyhedra_Library::Powerset< Parma_Polyhedra_Library::Determinate< PSET > >
 CParma_Polyhedra_Library::Interval_NS::Property
 CParma_Polyhedra_Library::Boundary_NS::Property
 CParma_Polyhedra_Library::OR_Matrix< T >::Pseudo_Row< U >An object that behaves like a matrix's row with respect to the subscript operators
 CParma_Polyhedra_Library::MIP_Problem::RAII_Temporary_Real_RelaxationA helper class to temporarily relax a MIP problem using RAII
 CParma_Polyhedra_Library::Rational_Interval_Info_Policy
 CParma_Polyhedra_Library::Rectilinear_Distance_Specialization< Temp >
 CParma_Polyhedra_Library::Recycle_InputA tag class
 CParma_Polyhedra_Library::Determinate< PSET >::RepThe possibly shared representation of a Determinate object
 CParma_Polyhedra_Library::Linear_System< Row >::Row_Less_ThanOrdering predicate (used when implementing the sort algorithm)
 CParma_Polyhedra_Library::Interval_NS::Scalar_As_Interval_Policy
 CParma_Polyhedra_Library::Scalar_ProductsA class implementing various scalar product functions
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< Interval_Boundary_Type >Helper class to select the appropriate numerical type to perform boundary computations so as to reduce the chances of overflow without incurring too much overhead
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< char >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< signed char >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< signed int >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< signed long >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< signed short >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< unsigned char >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< unsigned int >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< unsigned long >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< unsigned long long >
 CParma_Polyhedra_Library::Select_Temp_Boundary_Type< unsigned short >
 Cset
 CParma_Polyhedra_Library::Shape_Preserving_Reduction< D1, D2 >This class provides the reduction method for the Shape_Preserving_Product domain
 CParma_Polyhedra_Library::Smash_Reduction< D1, D2 >This class provides the reduction method for the Smash_Product domain
 CParma_Polyhedra_Library::Sparse_RowA finite sparse sequence of coefficients
 CParma_Polyhedra_Library::Polyhedron::StatusA conjunctive assertion about a polyhedron
 CParma_Polyhedra_Library::Grid::StatusA conjunctive assertion about a grid
 CParma_Polyhedra_Library::Box< ITV >::Status
 CParma_Polyhedra_Library::Octagonal_Shape< T >::StatusA conjunctive assertion about a Octagonal_Shape<T> object
 CParma_Polyhedra_Library::BD_Shape< T >::StatusA conjunctive assertion about a BD_Shape<T> object
 CParma_Polyhedra_Library::Suppress_Uninitialized_Warnings_Type< T >
 CParma_Polyhedra_Library::Swapping_Vector< T >
 CParma_Polyhedra_Library::Swapping_Vector< Parma_Polyhedra_Library::Congruence >
 CParma_Polyhedra_Library::Swapping_Vector< Parma_Polyhedra_Library::Constraint >
 CParma_Polyhedra_Library::Swapping_Vector< Parma_Polyhedra_Library::Generator >
 CParma_Polyhedra_Library::Swapping_Vector< Parma_Polyhedra_Library::Grid_Generator >
 CParma_Polyhedra_Library::Swapping_Vector< Parma_Polyhedra_Library::Sparse_Row >
 CParma_Polyhedra_Library::Swapping_Vector< Row >
 CParma_Polyhedra_Library::PIP_Solution_Node::TableauThe type for parametric simplex tableau
 CParma_Polyhedra_Library::TConstant< T, v >
 CParma_Polyhedra_Library::TConstant< long long, v >
 CParma_Polyhedra_Library::Temp_Item< T >A pool of temporary items of type T
 CParma_Polyhedra_Library::Temp_Reference_Holder< T >An holder for a reference to a temporary object
 CParma_Polyhedra_Library::Temp_Value_Holder< T >An (fake) holder for the value of a temporary object
 CParma_Polyhedra_Library::Termination_Helpers
 CParma_Polyhedra_Library::Threshold_Watcher< Traits >A class of watchdogs controlling the exceeding of a threshold
 CParma_Polyhedra_Library::ThrowableUser objects the PPL can throw
 CParma_Polyhedra_Library::Implementation::Watchdog::TimeA class for representing and manipulating positive time intervals
 CParma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_SignScalar product sign function object depending on topology
 CParma_Polyhedra_Library::CO_Tree::tree_iterator
 CParma_Polyhedra_Library::Unary_Operator< Target >A unary operator applied to one concrete expression
 CParma_Polyhedra_Library::Unary_Operator_Common< Target >Base class for unary operator applied to one concrete expression
 CParma_Polyhedra_Library::Linear_System< Row >::Unique_CompareComparison predicate (used when implementing the unique algorithm)
 CParma_Polyhedra_Library::Use_By_Ref< Criteria, T >
 CParma_Polyhedra_Library::Val_Or_Ref< T, Criteria, Enable >
 CParma_Polyhedra_Library::Val_Or_Ref< T, Criteria, typename Enable_If< Use_By_Ref< Criteria, T >::value >::type >
 CParma_Polyhedra_Library::Val_Or_Ref< T, Criteria, typename Enable_If<!Use_By_Ref< Criteria, T >::value >::type >
 CParma_Polyhedra_Library::Val_Or_Ref< T, Val_Or_Ref_Criteria >
 CParma_Polyhedra_Library::VariableA dimension of the vector space
 CParma_Polyhedra_Library::WatchdogA watchdog timer
 CParma_Polyhedra_Library::Watchdog_Traits
 CParma_Polyhedra_Library::Weight_Profiler
 CParma_Polyhedra_Library::Weightwatch_TraitsTraits class for the deterministic timeout mechanism
 CParma_Polyhedra_Library::Widening_Function< PSET >Wraps a widening method into a function object
 CParma_Polyhedra_Library::Linear_System< Row >::With_PendingA tag class
 CParma_Polyhedra_Library::Implementation::Wrap_Dim_Translations
 CParma_Polyhedra_Library::WRD_Extended_Number_Policy