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;
37 if(order == CTypes::lp)
39 else if(order == CTypes::dlex)
41 else if(order == CTypes::dp_asc)
43 else if(order == CTypes::block_dlex)
45 else if(order == CTypes::block_dp_asc)
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;