5 #ifndef VCCC_ALGORITHM_RANGES_SORT_HEAP_HPP_ 
    6 #define VCCC_ALGORITHM_RANGES_SORT_HEAP_HPP_ 
   32 struct sort_heap_niebloid {
 
   33   template<
typename I, 
typename S, 
typename Comp = ranges::less, 
typename Proj = identity, std::enable_if_t<conjunction<
 
   34       random_access_iterator<I>,
 
   36       sortable<I, Comp, Proj>
 
   38   constexpr I operator()(I 
first, S last, Comp comp = {}, Proj proj = {}) 
const {
 
   40     for (; !(
first == last); --last)
 
   45   template<
typename R, 
typename Comp = ranges::less, 
typename Proj = identity, std::enable_if_t<conjunction<
 
   46       random_access_range<R>,
 
   47       sortable<iterator_t<R>, Comp, Proj>
 
   49   constexpr borrowed_iterator_t<R> operator()(R&& r, Comp comp = {}, Proj proj = {}) 
const {
 
constexpr VCCC_INLINE_OR_STATIC detail::pop_heap_niebloid pop_heap
Definition: pop_heap.hpp:64
constexpr VCCC_INLINE_OR_STATIC detail::sort_heap_niebloid sort_heap
Definition: sort_heap.hpp:59
constexpr VCCC_INLINE_OR_STATIC detail::next_niebloid next
Definition: next.hpp:65
constexpr VCCC_INLINE_OR_STATIC detail::begin_niebloid begin
returns an iterator to the beginning of a range
Definition: begin.hpp:116
constexpr VCCC_INLINE_OR_STATIC detail::end_niebloid end
returns a sentinel indicating the end of a range
Definition: end.hpp:120
#define VCCC_INLINE_OR_STATIC
Definition: inline_or_static.hpp:9
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 0 > first
Definition: key_value.hpp:34
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35