pbori_routines_order.h File Reference

#include "pbori_defs.h"
#include "pbori_algo.h"
#include "pbori_traits.h"
#include "CRestrictedIter.h"

Go to the source code of this file.

Classes

class  dummy_data_type< DummyType >
class  bounded_restricted_term< NaviType, DescendingProperty >

Functions

template<class FirstIterator , class SecondIterator , class BinaryPredicate >
BEGIN_NAMESPACE_PBORI
CTypes::comp_type 
lex_compare_3way (FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, BinaryPredicate idx_comp)
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp, valid_tag has_easy_equality_test)
 defines lexicographic comparison
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp, invalid_tag has_no_easy_equality_test)
 defines lexicographic comparison
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp)
 defines lexicographic comparison
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type deg_lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp)
 defines degree-lexicographic comparison
template<class StackType , class Iterator >
void dummy_append (StackType &stack, Iterator start, Iterator finish)
template<class DegreeCacher , class NaviType , class IdxType >
NaviType::deg_type dd_cached_block_degree (const DegreeCacher &cache, NaviType navi, IdxType nextBlock)
template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool max_block_degree_on_then (const DegCacheMgr &deg_mgr, NaviType navi, IdxType next_block, SizeType degree, valid_tag is_descending)
template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool max_block_degree_on_then (const DegCacheMgr &deg_mgr, NaviType navi, IdxType next_block, SizeType degree, invalid_tag non_descending)
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class Iterator , class SizeType , class DescendingProperty >
TermType dd_block_degree_lead (const CacheType &cache_mgr, const DegCacheMgr &deg_mgr, NaviType navi, Iterator block_iter, TermType init, SizeType degree, DescendingProperty prop)
template<class CacheType , class DegCacheMgr , class NaviType , class Iterator , class TermType , class DescendingProperty >
TermType dd_block_degree_lead (const CacheType &cache_mgr, const DegCacheMgr &deg_mgr, NaviType navi, Iterator block_iter, TermType init, DescendingProperty prop)
template<class FirstIterator , class SecondIterator , class IdxType , class BinaryPredicate >
CTypes::comp_type restricted_lex_compare_3way (FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, IdxType max_index, BinaryPredicate idx_comp)
template<class LhsIterator , class RhsIterator , class Iterator , class BinaryPredicate >
CTypes::comp_type block_dlex_compare (LhsIterator lhsStart, LhsIterator lhsFinish, RhsIterator rhsStart, RhsIterator rhsFinish, Iterator start, Iterator finish, BinaryPredicate idx_comp)
template<class IdxType , class Iterator , class BinaryPredicate >
CTypes::comp_type block_deg_lex_idx_compare (IdxType lhs, IdxType rhs, Iterator start, Iterator finish, BinaryPredicate idx_comp)

Detailed Description

Author:
Alexander Dreyer
Date:
2006-08-23

This file includes files, which defines ordering-related function templates.

Copyright:
(c) 2006 by The PolyBoRi Team

Function Documentation

template<class IdxType , class Iterator , class BinaryPredicate >
CTypes::comp_type block_deg_lex_idx_compare ( IdxType  lhs,
IdxType  rhs,
Iterator  start,
Iterator  finish,
BinaryPredicate  idx_comp 
) [inline]
Note:
: no necessary for block_dlex, only for block_dp_asc

References CCompareEnums::equality, and generic_compare_3way().

Referenced by BlockDegRevLexAscOrder::compare().

template<class LhsIterator , class RhsIterator , class Iterator , class BinaryPredicate >
CTypes::comp_type block_dlex_compare ( LhsIterator  lhsStart,
LhsIterator  lhsFinish,
RhsIterator  rhsStart,
RhsIterator  rhsFinish,
Iterator  start,
Iterator  finish,
BinaryPredicate  idx_comp 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class Iterator , class TermType , class DescendingProperty >
TermType dd_block_degree_lead ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
Iterator  block_iter,
TermType  init,
DescendingProperty  prop 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class Iterator , class SizeType , class DescendingProperty >
TermType dd_block_degree_lead ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
Iterator  block_iter,
TermType  init,
SizeType  degree,
DescendingProperty  prop 
) [inline]
template<class DegreeCacher , class NaviType , class IdxType >
NaviType::deg_type dd_cached_block_degree ( const DegreeCacher &  cache,
NaviType  navi,
IdxType  nextBlock 
) [inline]

Function templates for determining the degree of a decision diagram with the help of cache (e. g. CDegreeCache)

Referenced by dd_block_degree_lead(), max_block_degree_on_then(), and cached_block_deg< navigator >::operator()().

template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type deg_lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp 
) [inline]

defines degree-lexicographic comparison

References CCompareEnums::equality, generic_compare_3way(), and lex_compare().

Referenced by DegRevLexAscOrder::compare(), and DegLexOrder::compare().

template<class StackType , class Iterator >
void dummy_append ( StackType &  stack,
Iterator  start,
Iterator  finish 
) [inline]
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp 
) [inline]

defines lexicographic comparison

References lex_compare().

template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp,
invalid_tag  has_no_easy_equality_test 
) [inline]

defines lexicographic comparison

References lex_compare_3way().

template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp,
valid_tag  has_easy_equality_test 
) [inline]

defines lexicographic comparison

References CCompareEnums::equality, and lex_compare_3way().

Referenced by LexOrder::compare(), deg_lex_compare(), and lex_compare().

template<class FirstIterator , class SecondIterator , class BinaryPredicate >
BEGIN_NAMESPACE_PBORI CTypes::comp_type lex_compare_3way ( FirstIterator  start,
FirstIterator  finish,
SecondIterator  rhs_start,
SecondIterator  rhs_finish,
BinaryPredicate  idx_comp 
) [inline]
template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool max_block_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
IdxType  next_block,
SizeType  degree,
invalid_tag  non_descending 
) [inline]
template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool max_block_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
IdxType  next_block,
SizeType  degree,
valid_tag  is_descending 
) [inline]
template<class FirstIterator , class SecondIterator , class IdxType , class BinaryPredicate >
CTypes::comp_type restricted_lex_compare_3way ( FirstIterator  start,
FirstIterator  finish,
SecondIterator  rhs_start,
SecondIterator  rhs_finish,
IdxType  max_index,
BinaryPredicate  idx_comp 
) [inline]
Generated on Thu Aug 5 13:34:42 2010 for PolyBoRi by  doxygen 1.6.3