#pragma once #include namespace NYql { template void FastNthElement(RandomIt first, RandomIt middle, RandomIt last) { ::miniselect::floyd_rivest_select(first, middle, last); } template void FastNthElement(RandomIt first, RandomIt middle, RandomIt last, Compare compare) { ::miniselect::floyd_rivest_select(first, middle, last, compare); } template void FastPartialSort(RandomIt first, RandomIt middle, RandomIt last) { ::miniselect::floyd_rivest_partial_sort(first, middle, last); } template void FastPartialSort(RandomIt first, RandomIt middle, RandomIt last, Compare compare) { ::miniselect::floyd_rivest_partial_sort(first, middle, last, compare); } }