|
Go to the documentation of this file.
9 #ifndef ADOBE_ALGORITHM_SORT_HPP
10 #define ADOBE_ALGORITHM_SORT_HPP
14 #include <boost/range/begin.hpp>
15 #include <boost/range/end.hpp>
16 #include <boost/bind.hpp>
40 template < class RandomAccessRange>
41 inline void sort(RandomAccessRange& range)
43 return std::sort(boost::begin(range), boost::end(range));
51 template < class RandomAccessIterator, class Compare>
52 inline void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp)
54 return std::sort(first, last, boost::bind(comp, _1, _2));
65 inline void sort(I f, I l, C c, P p)
67 return std::sort(f, l, boost::bind(c, boost::bind(p, _1), boost::bind(p, _2)));
78 inline void sort(R& r, C c, P p)
80 return adobe::sort(boost::begin(r), boost::end(r), boost::bind(c, boost::bind(p, _1),
89 template < class RandomAccessRange, class Compare>
90 inline void sort(RandomAccessRange& range, Compare comp)
92 return adobe::sort(boost::begin(range), boost::end(range), comp);
100 template < class RandomAccessRange>
111 template < class RandomAccessIterator, class Compare>
112 inline void stable_sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp)
122 template < class RandomAccessRange, class Compare>
133 template < class InputRange, class RandomAccessRange>
137 boost::begin(result_range), boost::end(result_range));
145 template < class InputRange, class RandomAccessRange>
149 boost::begin(result_range), boost::end(result_range));
157 template < class InputIterator, class RandomAccessIterator, class Compare>
159 RandomAccessIterator result_first, RandomAccessIterator result_last,
170 template < class InputRange, class RandomAccessRange, class Compare>
174 boost::begin(result_range), boost::end(result_range),
183 template < class InputRange, class RandomAccessRange, class Compare>
184 inline void partial_sort_copy( const InputRange& range, RandomAccessRange& result_range, Compare comp)
187 boost::begin(result_range), boost::end(result_range),
|