1- [ ![ Latest Release] ( https://img.shields.io/badge/release-cpp--TimSort%2F1.0 .0-blue.svg )] ( https://github.com/timsort/cpp-TimSort/releases )
1+ [ ![ Latest Release] ( https://img.shields.io/badge/release-cpp--TimSort%2F1.1 .0-blue.svg )] ( https://github.com/timsort/cpp-TimSort/releases )
22[ ![ Build Status] ( https://travis-ci.org/timsort/cpp-TimSort.svg?branch=master )] ( https://travis-ci.org/timsort/cpp-TimSort )
33[ ![ License] ( https://img.shields.io/:license-mit-blue.svg )] ( https://doge.mit-license.org )
44
@@ -10,17 +10,17 @@ See also the following links for a detailed description of TimSort:
1010* http://svn.python.org/projects/python/trunk/Objects/listsort.txt
1111* http://en.wikipedia.org/wiki/Timsort
1212
13- According to the benchmarks, it is a bit slower than ` std::sort() ` on randomized sequences, but much faster on
14- partially-sorted ones. ` gfx::timsort ` should be usable as a drop-in replacement for ` std::stable_sort ` , with the
15- difference that it can't fallback to a O(n log² n) algorithm when there isn't enough extra heap memory available.
13+ According to the benchmarks, it is slower than ` std::sort() ` on randomized sequences, but faster on partially-sorted
14+ ones. ` gfx::timsort ` should be usable as a drop-in replacement for ` std::stable_sort ` , with the difference that it
15+ can't fallback to a O(n log² n) algorithm when there isn't enough extra heap memory available.
1616
1717Additionally ` gfx::timsort ` can take a [ projection function] ( https://ezoeryou.github.io/blog/article/2019-01-22-ranges-projection.html )
18- after the comparison function. The support is a bit rougher than in the linked article: only instances of types
19- callable with parenthesis can be used, there is no support for pointer to members.
18+ after the comparison function. The support is a bit rougher than in the linked article or the C++20 stadard library:
19+ only instances of types callable with parentheses can be used, there is no support for pointer to members.
2020
2121## EXAMPLE
2222
23- Example using timsort with a comparison function and a projection function to sort a vector of strings by length:
23+ Example of using timsort with a comparison function and a projection function to sort a vector of strings by length:
2424
2525``` cpp
2626#include < string>
@@ -39,7 +39,7 @@ gfx::timsort(vec.begin(), vec.end(), std::less<size_t>(), &len);
3939
4040## COMPATIBILITY
4141
42- This library is compatible with C++98, but if you compile it with C++11 or later it will try to use `std::move()`
42+ This library is compatible with C++98, but if you compile it with C++11 or higher it will try to use `std::move()`
4343when possible instead of copying vaues around, which notably allows to sort collections of move-only types (see
4444[#9](https://github.com/gfx/cpp-TimSort/pull/9) for details).
4545
@@ -48,7 +48,7 @@ You can explicity control the use of `std::move()` by setting the macro `GFX_TIM
4848The library has been tested with the following compilers:
4949* GCC 5
5050* Clang 3.8
51- * The Clang version that ships with Xcode 8.3
51+ * The AppleClang version that ships with Xcode 8.3
5252* MSVC 2017 update 9
5353
5454It should also work with more recent compilers, and most likely with some older compilers too.
0 commit comments