Template
Update .clang-format
This commit is contained in:
1 parent
d1890b6e18
commit
af1baeeef7
6 files changed
+14
-14
No files matched your search
+1
-1
@@ -114,5 +114,5 @@ SpacesInParentheses: false
|
|||||||
SpacesInSquareBrackets: false
|
SpacesInSquareBrackets: false
|
||||||
Standard: Latest
|
Standard: Latest
|
||||||
TabWidth: 4
|
TabWidth: 4
|
||||||
UseTab: AlignWithSpaces
|
UseTab: ForIndentation
|
||||||
...
|
...
|
||||||
@@ -14,7 +14,7 @@ struct function_traits
|
|||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
requires callable<T>
|
requires callable<T>
|
||||||
struct function_traits<T>
|
struct function_traits<T>
|
||||||
{
|
{
|
||||||
using return_type = typename function_traits<decltype(&T::operator())>::return_type;
|
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>
|
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>
|
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>
|
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>
|
template<typename F>
|
||||||
requires std::invocable<F>
|
requires std::invocable<F>
|
||||||
void with(std::string_view arg_to_match_view, F&& function) const
|
void with(std::string_view arg_to_match_view, F&& function) const
|
||||||
{
|
{
|
||||||
if (arg_to_match_view == m_arg_view)
|
if (arg_to_match_view == m_arg_view)
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
namespace core {
|
namespace core {
|
||||||
|
|
||||||
template<std::ranges::forward_range Range>
|
template<std::ranges::forward_range Range>
|
||||||
requires requires(Range&& range) {
|
requires requires(Range&& range) {
|
||||||
(void)range.empty();
|
range.empty();
|
||||||
(void)trim_view{(*std::begin(range))};
|
trim_view{(*std::begin(range))};
|
||||||
}
|
}
|
||||||
class trim_elements_view : public std::ranges::view_interface<trim_elements_view<Range>>
|
class trim_elements_view : public std::ranges::view_interface<trim_elements_view<Range>>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
namespace core {
|
namespace core {
|
||||||
|
|
||||||
template<std::ranges::forward_range Range>
|
template<std::ranges::forward_range Range>
|
||||||
requires requires(Range&& range) {
|
requires requires(Range&& range) {
|
||||||
*std::begin(range) == ' '; // Comparable with char literals.
|
*std::begin(range) == ' '; // Comparable with char literals.
|
||||||
}
|
}
|
||||||
class trim_view : public std::ranges::view_interface<trim_view<Range>>
|
class trim_view : public std::ranges::view_interface<trim_view<Range>>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class view_closure : public std::ranges::range_adaptor_closure<view_closure<View
|
|||||||
public:
|
public:
|
||||||
template<std::ranges::viewable_range Range>
|
template<std::ranges::viewable_range Range>
|
||||||
constexpr auto operator()(Range&& range) const
|
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)};
|
return ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user