15 #ifndef polybori_orderings_pbori_order_h_
16 #define polybori_orderings_pbori_order_h_
33 inline boost::shared_ptr<COrderingBase>
35 typedef boost::shared_ptr<COrderingBase> order_ptr;
55 template <
class LhsType,
class RhsType,
class BinaryPredicate>
57 public std::binary_function<LhsType, RhsType, bool> {
65 bool operator()(
const LhsType& lhs,
const RhsType& rhs)
const {
66 return std::lexicographical_compare(lhs.begin(), lhs.end(),
67 rhs.begin(), rhs.end(), m_comp);
71 BinaryPredicate m_comp;
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
This class defines ordering related functions.
Definition: BlockDegRevLexAscOrder.h:33
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
This class defines ordering related functions.
Definition: DegRevLexAscOrder.h:33
bool operator()(const LhsType &lhs, const RhsType &rhs) const
Functor operation.
Definition: pbori_order.h:65
lex_compare_predicate(const BinaryPredicate &comp)
Constructor.
Definition: pbori_order.h:61
boost::shared_ptr< COrderingBase > get_ordering(CTypes::ordercode_type order)
Definition: pbori_order.h:34
This class defines ordering related functions.
Definition: LexOrder.h:33
This class defines ordering related functions.
Definition: DegLexOrder.h:33
defines lexicographic comparison functor
Definition: pbori_order.h:56
This class defines ordering related functions.
Definition: BlockDegLexOrder.h:32
int ordercode_type
Type for ordering codes.
Definition: pbori_defs.h:240