14#ifndef RANGES_V3_FUNCTIONAL_CONCEPTS_HPP
15#define RANGES_V3_FUNCTIONAL_CONCEPTS_HPP
21#include <range/v3/detail/prologue.hpp>
30#if defined(_MSC_VER) && !defined(__clang__)
33 template<
typename Fun,
typename... Args>
35 std::is_invocable_v<Fun, Args...>;
39 template<
typename Fun,
typename... Args>
43 invoke((Fun &&) fn, std::declval<Args>()...)
47 template<
typename Fun,
typename... Args>
54 template<
typename Fun,
typename... Args>
61 template<
typename Fun,
typename... Args>
67 decltype(invoke((Fun &&) fn, std::declval<Args>()...)),
72 template<
typename Fun,
typename... Args>
79 template<
typename R,
typename T,
typename U>
88 template<
typename R,
typename T,
typename U>
104#include <range/v3/detail/epilogue.hpp>
The regular_invocable concept.
The strict_weak_order concept.
Definition adjacent_find.hpp:67