return make_unique<SortListOrderCmp>(fnd->second);
}
-bool SortListOrderCmp::operator()(const ComboAddress& a, const ComboAddress& b) const
-{
- int aOrder=std::numeric_limits<int>::max();
- int bOrder=aOrder;
-
- if(d_slo.d_orders.match(a))
- aOrder = d_slo.d_orders.lookup(a)->second;
- if(d_slo.d_orders.match(b))
- bOrder = d_slo.d_orders.lookup(b)->second;
-
- return aOrder < bOrder;
-}
-
// call this with **stable_sort**
bool SortListOrderCmp::operator()(const DNSRecord& ar, const DNSRecord& br) const
{
struct SortListOrderCmp
{
SortListOrderCmp(SortListOrder slo) : d_slo(slo) {}
- bool operator()(const ComboAddress& a, const ComboAddress& b) const;
bool operator()(const DNSRecord& a, const DNSRecord& b) const;
const SortListOrder d_slo;
};