namespace boost {
namespace sort {
namespace spreadsort {
template<typename RandomAccessIter>
boost::enable_if_c< std::numeric_limits< typenamestd::iterator_traits< RandomAccessIter >::value_type >::is_integer, void >::type
spreadsort(RandomAccessIter, RandomAccessIter);
template<typename RandomAccessIter>
boost::enable_if_c<!std::numeric_limits< typenamestd::iterator_traits< RandomAccessIter >::value_type >::is_integer &&std::numeric_limits< typenamestd::iterator_traits< RandomAccessIter >::value_type >::is_iec559, void >::type
spreadsort(RandomAccessIter, RandomAccessIter);
template<typename RandomAccessIter>
boost::enable_if_c< is_same< typenamestd::iterator_traits< RandomAccessIter >::value_type, typenamestd::string >::value, void >::type
spreadsort(RandomAccessIter, RandomAccessIter);
template<typename RandomAccessIter>
boost::enable_if_c< is_same< typenamestd::iterator_traits< RandomAccessIter >::value_type, typenamestd::wstring >::value &&sizeof(wchar_t)==2, void >::type
spreadsort(RandomAccessIter, RandomAccessIter);
template<typename Range> void spreadsort(Range &);
}
}
}