Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Function template spreadsort

boost::sort::spreadsort::spreadsort — Generic spreadsort variant detecting string element type so call to string_sort for std::wstrings.


// In header: <boost/sort/spreadsort/spreadsort.hpp>

template<typename RandomAccessIter> 
  boost::enable_if_c< is_same< typename std::iterator_traits< RandomAccessIter >::value_type, typename std::wstring >::value &&sizeof(wchar_t)==2, void >::type 
  spreadsort(RandomAccessIter first, RandomAccessIter last);


If the data type provided is a wstring, string_sort is used.

[Note] Note

Sorting other data types requires picking between integer_sort, float_sort and string_sort directly, as spreadsort won't accept types that don't have the appropriate type_traits. Also, 2-byte wide-characters are the limit above which string_sort is inefficient, so on platforms with wider characters, this will not accept wstrings.



Iterator pointer to first element.


Iterator pointing to one beyond the end of data.


[first, last) is a valid range.

RandomAccessIter value_type is mutable.

RandomAccessIter value_type is LessThanComparable

RandomAccessIter value_type supports the operator>>, which returns an integer-type right-shifted a specified number of bits.


The elements in the range [first, last) are sorted in ascending order.