//----------------------------------------------------------------------------- template <class Iter_S, class Iter_T, class Iter_U> void CoinSort_3(Iter_S sfirst, Iter_S slast, Iter_T tfirst, Iter_U, ufirst) { typedef typename std::iterator_traits<Iter_S>::value_type S; typedef typename std::iterator_traits<Iter_T>::value_type T; typedef typename std::iterator_traits<Iter_U>::value_type U; CoinSort_3(sfirts, slast, tfirst, ufirst, CoinFirstLess_3<S,T,U>()); }
//----------------------------------------------------------------------------- template <class S, class T, class U> void CoinSort_3(S* sfirst, S* slast, T* tfirst, U* ufirst) { CoinSort_3(sfirst, slast, tfirst, ufirst, CoinFirstLess_3<S,T,U>()); }
void sortDecrElement() { CoinSort_3(elements_, elements_ + nElements_, origIndices_, indices_, CoinFirstGreater_3<double, int, int>()); }
void sortIncrElement() { CoinSort_3(elements_, elements_ + nElements_, origIndices_, indices_, CoinFirstLess_3<double, int, int>()); }
void sortDecrIndex() { CoinSort_3(indices_, indices_ + nElements_, origIndices_, elements_, CoinFirstGreater_3<int, int, double>()); }
void sortIncrIndex() { CoinSort_3(indices_, indices_ + nElements_, origIndices_, elements_, CoinFirstLess_3<int, int, double>()); }
void sort(const CoinCompare3 & tc) { CoinSort_3(indices_, indices_ + nElements_, origIndices_, elements_, tc); }
void CoinPackedVector::sortOriginalOrder() { CoinSort_3(origIndices_, origIndices_ + nElements_, indices_, elements_); }