PolyBoRi
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
polybori::AddEliminationDegree< SizeType >
polybori::and_tag< Tag1, Tag2 >And_tag<valid_tag, valid_tag> -> valid_tag, otherwise invalid_tag
polybori::and_tag< valid_tag, valid_tag >
polybori::append_indexed_divisor< DDType, IdxType >Defines multiplication (with assignment) with the idx-th variable
polybori::CCacheTypes::binary_cache_tag
polybori::binary_composition< BinaryOp, FirstOp, SecondOp >Compose a binary function with two default constructable unary functions
BinaryOp
binder1st
binder2nd
generic_hash_tags::bkdr_tag
polybori::CCacheTypes::block_degree
polybori::block_tag< TagType >Marker for block orderings
polybori::BlockDegLexOrderThis class defines ordering related functions
polybori::BlockDegRevLexAscOrderThis class defines ordering related functions
polybori::groebner::BlockOrderHelper
polybori::BooleConstantThis class wraps a bool value, which was not converted to a boolean polynomial or monomial yet
polybori::BooleEnvThis class is just a wrapper accessing global structures
polybori::BooleExponentThis class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial
polybori::BooleMonomialThis class is just a wrapper for using variables from cudd's decicion diagram
polybori::BoolePolynomialThis class wraps the underlying decicion diagram type and defines the necessary operations
polybori::BoolePolyRingThis class reinterprets decicion diagram managers as Boolean polynomial rings, adds an ordering and variable names
polybori::BooleSet
polybori::BooleVariableThis class is just a wrapper for using variables from cudd's decicion diagram
polybori::bounded_restricted_term< NaviType, DescendingProperty >
polybori::CAbstractStackBase< NavigatorType >
polybori::cached_block_deg< NavigatorType >
polybori::cached_deg< NavigatorType >
polybori::groebner::CacheManager
polybori::CacheManager< CacheType >
polybori::CApplyNodeFacade< DiagramType, NodePtr >This template class defines a facade as a C++ interface for applying C-style functions to C-style structs, which represent decision diagrams. It is used to wrapp functions calls to raw pointers of the nodes and the context to an C++-style object
polybori::CAuxTypesThis struct contains auxiliary type definitions
polybori::CBlockDegreeCache< DDType >
polybori::CBlockDegreeOrderingTags< OrderTag, DescProp >
polybori::CBlockOrderingFacade< OrderType, OrderTag >This class implements block orderings for COrderingFacade. OrderType must inherit from COrderingFacade<OrderType>
polybori::CBlockTermStack< NavigatorType, DescendingProperty, BaseType >
polybori::CBoundedDegreeCache< DDType >
polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >This template class forms the base for CCommutativeCacheManagement and CacheManager. It is an interface defining find and insert on decision diagram cache
CCacheManBaseThis template forms the base for CCacheManagement. It implements routines for finding and inserting results into the cache
polybori::CCacheManBase< ManagerType, CacheType, 0 >
polybori::CCacheManBase< ManagerType, CacheType, 1 >
polybori::CCacheManBase< ManagerType, CacheType, 2 >
polybori::CCacheManBase< ManagerType, CacheType, 3 >
polybori::CCacheTypes
polybori::CCallbackFacade< Type, ResultType, ArgType >Variant for constant non-void member functions
polybori::CCallbackFacade< Type, void, ArgType >Specialized variant for constant void member functions
polybori::CCallbackWrapper< MemberFuncPtr >This template class defines a functional, which wraps operator .*, which is the callback of a dynamic member function wrt. a given object
polybori::CCheckedIdxThis class defines CCheckedIdx
polybori::CCommutativeCacheManagement< ManagerType, CacheType >
polybori::CCompareEnumsThis struct contains type definitions and enumerations to be used for comparisons
polybori::CCuddCoreThis class prepares the CUDD's raw decision diagram manager structure for the use with instrinsive pointers
polybori::CCuddDDFacade< RingType, DiagramType >This template class defines a facade for decision diagrams
polybori::CCuddFirstIterThis class defines an iterator over the first minimal term of a given ZDD node
polybori::CCuddInterfaceThis class defines a C++ interface to CUDD's decicion diagram manager
polybori::CCuddLastIterThis class defines an iterator over the last minimal term of a given ZDD node
polybori::CCuddLikeMgrStorage< MgrType >
polybori::CCuddNavigatorThis class defines an iterator for navigating through then and else branches of ZDDs
CDDOperationGeneric class containing decision diagram operations
polybori::CDDOperations< DDType, MonomType >
polybori::CDegreeArgumentCache< TagType, DDType >
polybori::CDegreeCache< DDType >
polybori::CDegreeOrderingTags< OrderTag, DescProp >
CDegStackBase
polybori::CDegStackBase< NavigatorType, invalid_tag, BlockProperty, BaseType >
polybori::CDegStackBase< NavigatorType, valid_tag, BlockProperty, BaseType >
polybori::CDegStackCore< NavigatorType, invalid_tag, Category, BaseType >For pure degree stacks
polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >For block stacks
polybori::CDegTermStack< NavigatorType, DescendingProperty, BlockProperty, BaseType >
polybori::CDelayedTermIter< TermType, AppendOp, TerminalValueOp, DegIterBase >This class defines extend a given PolyBoRi degree iterator
polybori::CErrorEnumsThis struct contains type definitions and enumerations to be used for error codes
polybori::CErrorInfo
polybori::CExpGenerator< ExpType >
polybori::CExpIter< NaviType, ExpType >
polybori::CExtrusivePtr< DataType, ValueType >This template class defines a reimplementation of the interface from boost:intrusive_ptr, but with an additional data field
polybori::CGenericIter< OrderType, NaviType, RefType >
polybori::CGenericOrderedIter< OrderType, NavigatorType, MonomType >
polybori::CGenericOrderedIter< OrderType, NavigatorType, BooleExponent >
polybori::groebner::ChainCriterionAssumes that divisibility condition is fullfilled
polybori::groebner::ChainVariableCriterion
changeAccessing .change()
polybori::change_assign< RhsType, LhsType >Accessing .changeAssign()
polybori::change_assign< void, pbori_traits< void >::idx_type >
polybori::change_idx< RhsType, LhsType >
CIdxPathThis template class defines a storage type for monomial indices and customizable "pretty" printing
polybori::CIdxPath< IdxType, SeparatorType >
CIdxVariableThis template class defines a storage type for one monomial index and customizable "pretty" printing
polybori::CIdxVariable< IdxType, VarNameLit, VarHeadLit, VarTailLit >
polybori::CIndexCacheHandle< NaviType >
polybori::CIndexHandle< NaviType >This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables)
polybori::CLiteralCodesThis template class defines enumerative codes for the string literals defined by the CStringLiterals class
CMemberFunctionTraitsThis template class defines related types for member function pointer
polybori::CMemberFunctionTraits< ResultType(Type::*)() const >
polybori::CMemberFunctionTraits< ResultType(Type::*)()>
polybori::CMemberFunctionTraits< ResultType(Type::*)(ArgType) const >
polybori::CMemberFunctionTraits< ResultType(Type::*)(ArgType)>
polybori::CMemberFunctionTraitsBase< Type, ResultType, ArgType, ObjRef >Axuiliary class
polybori::CommutativeCacheManager< CacheType >
polybori::constant_binder1st< BinaryFunction, ConstantOp >
polybori::constant_binder2nd< BinaryFunction, ConstantOp >
polybori::constant_binder_base< BindType, BinaryFunction, ValueType, ConstantOp >
polybori::CCacheTypes::contained_deg2
polybori::CCacheTypes::contained_variables
polybori::COrderedIter< NavigatorType, MonomType >
polybori::COrderEnumsThis struct contains type definitions and enumerations to be used for order codes
polybori::COrderingBase
polybori::COrderingFacade< OrderType, OrderTag >This class initialize the interface for orderings of CDynamicOrderBase for a given OrderType. OrderType must inherit from COrderingFacade<OrderType>
COrderingTagsThis tempalte class is base for classes which define ordering tags and properties
polybori::COrderingTags< block_dlex_tag >
polybori::COrderingTags< block_dp_asc_tag >
polybori::COrderingTags< dlex_tag >
polybori::COrderingTags< dp_asc_tag >
polybori::COrderingTags< lex_tag >
polybori::COrderingTagsBase< OrderTag, LexProp, DegOrderProp, BlockOrderProp, DescendingProp, OrderedProp, TotelDegOrderProp, SymmetryProp >
polybori::COrderProperties< OrderType >This class determins ordering dependent properties
polybori::count_tags< CCacheTypes::divisorsof_fixedpath >
polybori::count_tags< CCacheTypes::has_factor_x_plus_y >
polybori::count_tags< CCacheTypes::left_equals_right_x_branch_and_r_has_fac_x >
polybori::count_tags< CCacheTypes::testwise_ternary >
polybori::CPrintOperation< ValueType, LiteralType, StreamType >This template prints a string literal to stream as operation
polybori::CRestrictedIter< Iterator, RestrictOp, IsValidTest >
polybori::CReverseIter< OrderType, NaviType, RefType >
polybori::CReverseTermStack< NavigatorType, Category >This class defines an iterator for the monomials in a Boolean polynomial in reversed lexicographicxal order
polybori::CRingCore
polybori::CStackSelector< OrderType, NaviType, BaseType >
polybori::CStringLiteral< LitCode >This template class defines string literals corresponding to the codes enumerated in the class CLiteralCodes
polybori::CTermGenerator< TermType >
polybori::CTermGenerator< BooleMonomial >
polybori::CTermGeneratorBase< TermType >
CTermGeneratorBase__
polybori::CTermGeneratorBase__< TermType, type_tag< BooleExponent > >
polybori::CTermGeneratorBase__< TermType, type_tag< BooleMonomial > >
polybori::CTermGeneratorBase__< TermType, type_tag< CTypes::deg_type > >
polybori::CTermGeneratorBase__< TermType, type_tag< CTypes::size_type > >
polybori::CTermIter< StackType, TermGeneratorType >This class defines an iterator for the monomials in a Boolean polynomial
polybori::CTermStack< NavigatorType, Category, BaseType >This class defines an iterator for the monomials in a Boolean polynomial
polybori::CTermStackBase< NavigatorType, BaseType >This class defines an iterator for the monomials in a Boolean polynomial
polybori::CTypesThis struct contains type definitions to be used in library classes
polybori::cudd_error_traits< ErrorNumber >
polybori::cudd_tag_number< Counted, Offset >
polybori::CVariableIter< Iterator, VariableType >This template class defines an iterator for monomial types
polybori::CVariableNames
polybori::CWrappedStack< StackType >
polybori::dd_add_assign< DDType >Defines addition operation with assignment for decision diagrams
polybori::dd_operations< CCuddNavigator >
polybori::default_binder1st< BinaryFunction >
polybori::default_binder2nd< BinaryFunction >
polybori::default_binder_base< BindType, BinaryFunction, ValueType >
polybori::default_value< ValueType >
polybori::DegLexOrderThis class defines ordering related functions
polybori::groebner::DegOrderHelper
polybori::CCacheTypes::degree
polybori::DegRevLexAscOrderThis class defines ordering related functions
generic_hash_tags::dek_tag
polybori::CCacheTypes::divide
polybori::CCacheTypes::divisorsof
polybori::CCacheTypes::divisorsof_fixedpath
generic_hash_tags::djb_tag
polybori::dlex_tagMarker for deg-lex ordering
polybori::dp_asc_tagMarker for ascending deg-rev-lex ordering
polybori::dummy_data_type< DummyType >
polybori::dummy_iteratorAn iterator which virtually does nothing
easy_equality_propertyDefines generic base for properties
generic_hash_tags::elf_tag
polybori::EliminationDegreeAdder< ExponentVectorType >
polybori::equality_property< ValidityTag >
polybori::CCacheTypes::exist_abstract
polybori::groebner::FGLMNoLinearCombinationException
polybori::groebner::FGLMStrategy
polybori::groebner::GBTypes
polybori::generate_index_map< Type >
generic_hash< VectorType, HashType, AlgTag, BitMask >
generic_hash_tags
generic_sequence_hash< Iterator, HashType, AlgTag, BitMask >
get_baseDeclaration, which can be used to define base classes for inheritance of classes in advance
polybori::get_node< DDType >
polybori::CCacheTypes::graded_part
polybori::groebner::GroebnerStrategy
polybori::handle_else< NavigatorType >
polybori::CCacheTypes::has_factor_x
polybori::CCacheTypes::has_factor_x_plus_one
polybori::CCacheTypes::has_factor_x_plus_y
polybori::hashes< Type >
polybori::groebner::HasTRepOrExtendedProductCriterion
polybori::groebner::IJPairData
polybori::CCacheTypes::include_divisors
polybori::increment_count_tags< BaseTag >
insertAccessing .insert()
polybori::insert_assign< RhsType, LhsType >Accessing .insertAssign()
polybori::insert_assign< void, pbori_traits< void >::idx_type >
polybori::insert_second_to_list< ListType, RhsType, LhsType >Insert second argument to a given list
polybori::inserts< RhsType, LhsType >Accessing .insert()
polybori::inserts< void, pbori_traits< void >::idx_type >
polybori::integral_constant< IntType, INTCONST, ResultType >Integral_constant<int_type, NUM>()() returns NUM of int_type, instead of possibly arguments. integral_constant<int_type, NUM, other_type>()() returns conversion of NUM of int_type to other_type
polybori::internal_tagThis class marks an internal part of a procedure
polybori::CCacheTypes::interpolate
polybori::CCacheTypes::interpolate_smallest_lex
polybori::invalid_tagThis class shows, whether a property of an order is invalid
invert_tagChanges valid_tag -> invalid_tag and vice versa
polybori::invert_tag< invalid_tag >
polybori::invert_tag< valid_tag >
polybori::CCacheTypes::is_rewriteable
polybori::is_same_type< Type1, Type2 >This class tests whether two types equal
polybori::is_same_type< Type, Type >
polybori::is_valid< Type >
polybori::groebner::IsEcart0Predicate
iterator_facade
generic_hash_tags::js_tag
polybori::groebner::LargerDegreeComparer
polybori::CCacheTypes::lead_tag< TagType >
polybori::CCacheTypes::left_equals_right_x_branch_and_r_has_fac_x
polybori::groebner::LessCombinedManySizesInStrat
polybori::groebner::LessEcartThenLessWeightedLengthInStrat
polybori::groebner::LessUsedTailVariablesThenLessWeightedLengthInStrat
polybori::groebner::LessWeightedLengthInStrat
polybori::groebner::LessWeightedLengthInStratModified
polybori::lex_compare_predicate< LhsType, RhsType, BinaryPredicate >Defines lexicographic comparison functor
polybori::CCacheTypes::lex_lead
polybori::lex_tagMarker for lex ordering
polybori::groebner::LexBucket
polybori::groebner::LexHelper
polybori::LexOrderThis class defines ordering related functions
polybori::groebner::LexOrderGreaterComparer
polybori::groebner::LiteralFactorization
polybori::groebner::LiteralFactorizationIterator
polybori::CCacheTypes::ll_red_nf
polybori::groebner::LMLessCompare
polybori::groebner::LMLessComparePS
polybori::manager_traits< CuddLike >
polybori::CCacheTypes::map_every_x_to_x_plus_one
polybori::mapped_new_node< MapType, VariableType, TermType, NodeType >
polybori::CCacheTypes::mapping
polybori::maximum_iteration< ValueType >Returns maximun of given argument and previous calls
polybori::CCacheTypes::minimal_elements
polybori::CCacheTypes::minimal_mod
polybori::CCacheTypes::mod_varset
polybori::groebner::MonomialHasher
polybori::CCacheTypes::multiplesof
polybori::CCacheTypes::multiply_recursive
polybori::navigates< DDType >
polybori::navigator_tagFor iterator_category
polybori::CCacheTypes::no_cache
polybori::CCacheTypes::no_cache_tag
polybori::on_same_type< Type1, Type2, ThenType, ElseType >This class switches betweem two types, depending on equality of types
polybori::on_same_type< Type, Type, ThenType, ElseType >
polybori::order_traits< OrderTag >
polybori::order_traits< block_tag< BaseOrderTag > >
polybori::order_traits_code< block_dlex_tag >
polybori::order_traits_code< block_dp_asc_tag >
polybori::order_traits_code< dlex_tag >
polybori::order_traits_code< dp_asc_tag >
polybori::order_traits_code< lex_tag >
polybori::groebner::PairData
polybori::groebner::PairE
polybori::groebner::PairECompare
polybori::groebner::PairLS
polybori::groebner::PairLSCompare
polybori::groebner::PairManager
polybori::groebner::PairStatusSet
polybori::pbori_base< CCacheManBase< BoolePolyRing, CacheType, ArgumentLength > >
polybori::pbori_base< CCacheManBase< boost::intrusive_ptr< CCuddCore >, CacheType, ArgumentLength > >
polybori::pbori_base< CCacheManBase< CCuddInterface, CacheType, ArgumentLength > >
polybori::pbori_base< CExpIter< NaviType, ExpType > >
polybori::pbori_base< CGenericIter< OrderType, NaviType, RefType > >
polybori::pbori_base< CReverseIter< OrderType, NaviType, RefType > >
polybori::pbori_binary_traits< FirstType, SecondType >This class contains property definitions related to two types to be used in polybori classes
polybori::pbori_binary_traits< OnlyType, OnlyType >
pbori_hashFor information on hashes, see http://www.partow.net/programming/hashfunctions/ We did not use his implementation, because it is CPLed, but all algorithms used here are prior arts (published before Arash Partow)
polybori::pbori_traits< ValueType >This class contains property definitions to be used in polybori classes
polybori::pbori_traits< dummy_iterator >
polybori::pbori_traits< int >
polybori::pbori_traits< long int >
polybori::pbori_traits< std::set< ValueType > >
polybori::pbori_traits< std::vector< ValueType > >
polybori::pbori_traits< unsigned int >
polybori::pbori_traits< void >
polybori::PBoRiErrorThis class is used for polybori's exception handling
polybori::PBoRiGenericError< ErrorCode >This template class is used for polybori's exception handling
polybori::PBoRiOutIter< DataType, RhsType, BinOp >This template class defines an output iterator which interprets assignments of indices as a change of given data wrt. a given binary operation
generic_hash_tags::pjw_tag
polybori::CCacheTypes::plug_1
polybori::groebner::PolyEntry
polybori::groebner::PolynomialSugar
polybori::groebner::PolyPairData
project_ithIs the identity functional or projection to first argument
project_ithProject to the second of all given arguments
project_ithVirtually does nothing with the given arguments
project_ithProject to the third of all given arguments
polybori::project_ith< 0, NLEN >
polybori::project_ith< 1, NLEN >
polybori::project_ith< 2, NLEN >
polybori::project_ith< 3, NLEN >
property_ownerDefines generic base for properties
polybori::groebner::PSCompareByEl
polybori::push_back< ListType, ValueType >Accessing .push_back()
polybori::groebner::ReductionStrategy
polybori::remove_assign< RhsType, LhsType >Accessing .removeAssign()
polybori::remove_assign< void, pbori_traits< void >::idx_type >
polybori::removes< RhsType, LhsType >Accessing .remove()
polybori::removes< void, pbori_traits< void >::idx_type >
reversed_iterationInterchanges operator++ and operator-- of a given iterator
polybori::reversed_iteration_adaptor< BiIterator >
generic_hash_tags::sdbm_tag
polybori::groebner::SetBitUInt
polybori::groebner::ShorterEliminationLength
polybori::groebner::ShorterEliminationLengthModified
simple_identity
simple_increment
generic_hash_tags::simple_tag
polybori::sizes_less< ListType >A functional for size comparisons
polybori::groebner::SlimgbReduction< variant >
polybori::subset0_assign< RhsType, LhsType >Accessing .subset1Assign()
polybori::subset1_assign< RhsType, LhsType >Accessing .subset1Assign()
polybori::symmetric_composition< BinaryOp, UnaryOperation >Compose a binary function with a default constructable unary function for both arguments
polybori::CCacheTypes::ternary_cache_tag
polybori::CCacheTypes::testwise_ternary
polybori::times_indexed_var< DDType, IdxType >Defines multiplication operation with the idx-th variable
polybori::type_tag< Type >This class marks a given type
polybori::CCacheTypes::unary_cache_tag
polybori::CCacheTypes::union_xor
polybori::unite_assign< RhsType, LhsType >Accessing .uniteAssign()
polybori::CCacheTypes::used_variables
polybori::valid_tagThis class shows, whether a property of an order is valid
polybori::variable_name< ManagerType, IdxType, VarNameType >Defines generic access to variable names
polybori::groebner::VariablePairData
polybori::groebner::ZeroFunction
polybori::CCacheTypes::zeros