Template
Update .clang-format
This commit is contained in:
1 parent
d1890b6e18
commit
af1baeeef7
6 files changed
+14
-14
No files matched your search
@@ -14,7 +14,7 @@ struct function_traits
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
requires callable<T>
|
||||
requires callable<T>
|
||||
struct function_traits<T>
|
||||
{
|
||||
using return_type = typename function_traits<decltype(&T::operator())>::return_type;
|
||||
@@ -50,12 +50,12 @@ struct function_traits<Ret (Class::*)(Arg0, Args...) const>
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
using return_type_t = typename function_traits<T>::return_type;
|
||||
using return_type_t = typename function_traits<std::remove_cvref_t<T>>::return_type;
|
||||
|
||||
template<typename T>
|
||||
using first_argument_type_t = typename function_traits<T>::first_argument_type;
|
||||
using first_argument_type_t = typename function_traits<std::remove_cvref_t<T>>::first_argument_type;
|
||||
|
||||
template<typename T, typename Arg>
|
||||
concept callable_with_converted_argument = requires(T&& callable, Arg&& arg) { callable(typename traits::first_argument_type_t<T>{arg}); };
|
||||
concept callable_with_argument_converted = requires(T&& callable, Arg&& arg) { callable(core::first_argument_type_t<T>{arg}); };
|
||||
|
||||
}
|
||||
@@ -15,7 +15,7 @@ public:
|
||||
}
|
||||
|
||||
template<typename F>
|
||||
requires std::invocable<F>
|
||||
requires std::invocable<F>
|
||||
void with(std::string_view arg_to_match_view, F&& function) const
|
||||
{
|
||||
if (arg_to_match_view == m_arg_view)
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
namespace core {
|
||||
|
||||
template<std::ranges::forward_range Range>
|
||||
requires requires(Range&& range) {
|
||||
(void)range.empty();
|
||||
(void)trim_view{(*std::begin(range))};
|
||||
}
|
||||
requires requires(Range&& range) {
|
||||
range.empty();
|
||||
trim_view{(*std::begin(range))};
|
||||
}
|
||||
class trim_elements_view : public std::ranges::view_interface<trim_elements_view<Range>>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
namespace core {
|
||||
|
||||
template<std::ranges::forward_range Range>
|
||||
requires requires(Range&& range) {
|
||||
*std::begin(range) == ' '; // Comparable with char literals.
|
||||
}
|
||||
requires requires(Range&& range) {
|
||||
*std::begin(range) == ' '; // Comparable with char literals.
|
||||
}
|
||||
class trim_view : public std::ranges::view_interface<trim_view<Range>>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -9,7 +9,7 @@ class view_closure : public std::ranges::range_adaptor_closure<view_closure<View
|
||||
public:
|
||||
template<std::ranges::viewable_range Range>
|
||||
constexpr auto operator()(Range&& range) const
|
||||
requires requires { ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)}; }
|
||||
requires requires { ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)}; }
|
||||
{
|
||||
return ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)};
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user