Boost.Sort
Namespaces | Functions
float_sort.hpp File Reference
#include <algorithm>
#include <vector>
#include <limits>
#include <functional>
#include <boost/static_assert.hpp>
#include <boost/serialization/static_warning.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/sort/spreadsort/detail/constants.hpp>
#include <boost/sort/spreadsort/detail/integer_sort.hpp>
#include <boost/sort/spreadsort/detail/spreadsort_common.hpp>
#include <boost/cstdint.hpp>

Go to the source code of this file.

Namespaces

 boost
 
 boost::sort
 
 boost::sort::detail
 

Functions

template<class Cast_type , class RandomAccessIter >
Cast_type boost::sort::detail::cast_float_iter (const RandomAccessIter &floatiter)
 
template<class RandomAccessIter , class Div_type , class Right_shift >
bool boost::sort::detail::is_sorted_or_find_extremes (RandomAccessIter current, RandomAccessIter last, Div_type &max, Div_type &min, Right_shift rshift)
 
template<class RandomAccessIter , class Div_type >
void boost::sort::detail::inner_float_swap_loop (RandomAccessIter *bins, const RandomAccessIter &nextbinstart, unsigned ii, const unsigned log_divisor, const Div_type div_min)
 
template<class RandomAccessIter , class Div_type >
void boost::sort::detail::float_swap_loop (RandomAccessIter *bins, RandomAccessIter &nextbinstart, unsigned ii, const size_t *bin_sizes, const unsigned log_divisor, const Div_type div_min)
 
template<class RandomAccessIter , class Cast_type >
bool boost::sort::detail::is_sorted_or_find_extremes (RandomAccessIter current, RandomAccessIter last, Cast_type &max, Cast_type &min)
 
template<class RandomAccessIter , class Div_type , class Size_type >
void boost::sort::detail::positive_float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes)
 
template<class RandomAccessIter , class Div_type , class Size_type >
void boost::sort::detail::negative_float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Size_type >
void boost::sort::detail::negative_float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes, Right_shift rshift)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Compare , class Size_type >
void boost::sort::detail::negative_float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes, Right_shift rshift, Compare comp)
 
template<class RandomAccessIter , class Div_type , class Size_type >
void boost::sort::detail::float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Size_type >
void boost::sort::detail::float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes, Right_shift rshift)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Compare , class Size_type >
void boost::sort::detail::float_sort_rec (RandomAccessIter first, RandomAccessIter last, std::vector< RandomAccessIter > &bin_cache, unsigned cache_offset, size_t *bin_sizes, Right_shift rshift, Compare comp)
 
template<class RandomAccessIter >
boost::enable_if_c< sizeof(boost::uint32_t)==sizeof(typename std::iterator_traits< RandomAccessIter >::value_type)&&std::numeric_limits< typename std::iterator_traits< RandomAccessIter >::value_type >::is_iec559, void >::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last)
 
template<class RandomAccessIter >
boost::enable_if_c< sizeof(boost::uint64_t)==sizeof(typename std::iterator_traits< RandomAccessIter >::value_type)&&std::numeric_limits< typename std::iterator_traits< RandomAccessIter >::value_type >::is_iec559, void >::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last)
 
template<class RandomAccessIter >
boost::disable_if_c< (sizeof(boost::uint64_t)==sizeof(typename std::iterator_traits< RandomAccessIter >::value_type)||sizeof(boost::uint32_t)==sizeof(typename std::iterator_traits< RandomAccessIter >::value_type))&&std::numeric_limits< typename std::iterator_traits< RandomAccessIter >::value_type >::is_iec559, void >::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last)
 
template<class RandomAccessIter , class Div_type , class Right_shift >
void::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last, Div_type, Right_shift rshift)
 
template<class RandomAccessIter , class Div_type , class Right_shift >
boost::enable_if_c< sizeof(size_t)< sizeof(Div_type)&&sizeof(boost::uintmax_t) >=sizeof(Div_type), void >::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last, Div_type, Right_shift rshift)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Compare >
void::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last, Div_type, Right_shift rshift, Compare comp)
 
template<class RandomAccessIter , class Div_type , class Right_shift , class Compare >
boost::enable_if_c< sizeof(size_t)< sizeof(Div_type)&&sizeof(boost::uintmax_t) >=sizeof(Div_type), void >::type boost::sort::detail::float_sort (RandomAccessIter first, RandomAccessIter last, Div_type, Right_shift rshift, Compare comp)