tlx
best.hpp File Reference
#include <tlx/sort/networks/cswap.hpp>
#include <functional>

Go to the source code of this file.

Namespaces

 tlx
 
 tlx::sort_networks
 Implementations of sorting networks for up to sixteen elements.
 
 tlx::sort_networks::best
 Implementation of best known sorting networks for up to sixteen elements.
 

Typedefs

template<typename Iterator >
using DefaultCSwap = CS_IfSwap< std::less< typename std::iterator_traits< Iterator >::value_type > >
 default conditional swap implementation More...
 

Functions

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort2 (Iterator a, CSwap cswap=CSwap())
 sorting network for two elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort3 (Iterator a, CSwap cswap=CSwap())
 sorting network for three elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort4 (Iterator a, CSwap cswap=CSwap())
 sorting network for four elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort5 (Iterator a, CSwap cswap=CSwap())
 sorting network for five elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort6 (Iterator a, CSwap cswap=CSwap())
 sorting network for six elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort7 (Iterator a, CSwap cswap=CSwap())
 sorting network for seven elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort8 (Iterator a, CSwap cswap=CSwap())
 sorting network for eight elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort9 (Iterator a, CSwap cswap=CSwap())
 sorting network for nine elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort10 (Iterator a, CSwap cswap=CSwap())
 sorting network for ten elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort11 (Iterator a, CSwap cswap=CSwap())
 sorting network for eleven elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort12 (Iterator a, CSwap cswap=CSwap())
 sorting network for twelve elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort13 (Iterator a, CSwap cswap=CSwap())
 sorting network for thirteen elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort14 (Iterator a, CSwap cswap=CSwap())
 sorting network for fourteen elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort15 (Iterator a, CSwap cswap=CSwap())
 sorting network for fifteen elements More...
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort16 (Iterator a, CSwap cswap=CSwap())
 sorting network for sixteen elements More...
 
template<typename Iterator , typename Comparator = std::less<typename std::iterator_traits<Iterator>::value_type>>
static void sort (Iterator begin, Iterator end, Comparator cmp=Comparator())
 Call best known sorting network for up to sixteen elements with given comparison method. More...