Boost C++ Libraries

...one 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 to view this page for the latest version.
PrevUpHomeNext

Function template spreadsort

boost::sort::spreadsort::spreadsort — Generic spreadsort variant detecting float element type so call to float_sort.

Synopsis

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


template<typename RandomAccessIter> 
  boost::enable_if_c< !std::numeric_limits< typename std::iterator_traits< RandomAccessIter >::value_type >::is_integer &&std::numeric_limits< typename std::iterator_traits< RandomAccessIter >::value_type >::is_iec559, void >::type 
  spreadsort(RandomAccessIter first, RandomAccessIter last);

Description

If the data type provided is a float or castable-float, float_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.

Parameters:

first

Iterator pointer to first element.

last

Iterator pointing to one beyond the end of data.

Requires:

[first, last) is a valid range.

Requires:

RandomAccessIter value_type is mutable.

Requires:

RandomAccessIter value_type is LessThanComparable

Requires:

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

Postconditions:

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


PrevUpHomeNext