Use std::remove_cvref instead of std::decay
This commit is contained in:
parent
ab9d78f50d
commit
bea23c6bf2
|
@ -509,8 +509,8 @@ std::unique_ptr<Highlighter> create_dynamic_regex_highlighter(HighlighterParamet
|
||||||
}
|
}
|
||||||
|
|
||||||
auto make_hl = [](auto& regex_getter, auto& face_getter) {
|
auto make_hl = [](auto& regex_getter, auto& face_getter) {
|
||||||
return std::make_unique<DynamicRegexHighlighter<std::decay_t<decltype(regex_getter)>,
|
return std::make_unique<DynamicRegexHighlighter<std::remove_cvref_t<decltype(regex_getter)>,
|
||||||
std::decay_t<decltype(face_getter)>>>(
|
std::remove_cvref_t<decltype(face_getter)>>>(
|
||||||
std::move(regex_getter), std::move(face_getter));
|
std::move(regex_getter), std::move(face_getter));
|
||||||
};
|
};
|
||||||
auto get_face = [faces=std::move(faces)](const Context& context, const Regex& regex){
|
auto get_face = [faces=std::move(faces)](const Context& context, const Regex& regex){
|
||||||
|
|
|
@ -9,7 +9,7 @@ UnitTest test_option_parsing{[]{
|
||||||
{
|
{
|
||||||
auto repr = option_to_strings(value);
|
auto repr = option_to_strings(value);
|
||||||
kak_assert(strs == ConstArrayView<String>{repr});
|
kak_assert(strs == ConstArrayView<String>{repr});
|
||||||
auto parsed = option_from_strings(Meta::Type<std::decay_t<decltype(value)>>{}, strs);
|
auto parsed = option_from_strings(Meta::Type<std::remove_cvref_t<decltype(value)>>{}, strs);
|
||||||
kak_assert(parsed == value);
|
kak_assert(parsed == value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace Kakoune
|
||||||
template<typename Func> struct ViewFactory { Func func; };
|
template<typename Func> struct ViewFactory { Func func; };
|
||||||
|
|
||||||
template<typename Func>
|
template<typename Func>
|
||||||
ViewFactory<std::decay_t<Func>>
|
ViewFactory<std::remove_cvref_t<Func>>
|
||||||
make_view_factory(Func&& func) { return {std::forward<Func>(func)}; }
|
make_view_factory(Func&& func) { return {std::forward<Func>(func)}; }
|
||||||
|
|
||||||
template<typename Range, typename Func>
|
template<typename Range, typename Func>
|
||||||
|
@ -25,7 +25,7 @@ decltype(auto) operator| (Range&& range, ViewFactory<Func> factory)
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Range>
|
template<typename Range>
|
||||||
struct decay_range_impl { using type = std::decay_t<Range>; };
|
struct decay_range_impl { using type = std::remove_cvref_t<Range>; };
|
||||||
|
|
||||||
template<typename Range>
|
template<typename Range>
|
||||||
struct decay_range_impl<Range&> { using type = Range&; };
|
struct decay_range_impl<Range&> { using type = Range&; };
|
||||||
|
@ -261,11 +261,11 @@ inline auto transform(Transform t)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, typename U, typename = void>
|
template<typename T, typename U>
|
||||||
struct is_pointer_like : std::false_type {};
|
struct is_pointer_like : std::false_type {};
|
||||||
|
|
||||||
template<typename T, typename U>
|
template<typename T, typename U> requires std::is_same_v<std::remove_cvref_t<decltype(*std::declval<U>())>, std::remove_cvref_t<T>>
|
||||||
struct is_pointer_like<T, U, std::enable_if_t<std::is_same_v<std::decay_t<decltype(*std::declval<U>())>, std::decay_t<T>>>> : std::true_type {};
|
struct is_pointer_like<T, U> : std::true_type {};
|
||||||
|
|
||||||
template<typename M, typename T>
|
template<typename M, typename T>
|
||||||
inline auto transform(M T::*member)
|
inline auto transform(M T::*member)
|
||||||
|
@ -547,7 +547,7 @@ auto elements()
|
||||||
return *it;
|
return *it;
|
||||||
};
|
};
|
||||||
// Note that initializer lists elements are guaranteed to be sequenced
|
// Note that initializer lists elements are guaranteed to be sequenced
|
||||||
Array<std::decay_t<decltype(*begin(range))>, sizeof...(Indexes)> res{{elem(Indexes)...}};
|
Array<std::remove_cvref_t<decltype(*begin(range))>, sizeof...(Indexes)> res{{elem(Indexes)...}};
|
||||||
if (exact_size and ++it != end_it)
|
if (exact_size and ++it != end_it)
|
||||||
throw ExceptionType{++i};
|
throw ExceptionType{++i};
|
||||||
return res;
|
return res;
|
||||||
|
|
|
@ -205,7 +205,7 @@ struct Overload : Funcs...
|
||||||
template<typename... Funcs>
|
template<typename... Funcs>
|
||||||
auto overload(Funcs&&... funcs)
|
auto overload(Funcs&&... funcs)
|
||||||
{
|
{
|
||||||
return Overload<std::decay_t<Funcs>...>{std::forward<Funcs>(funcs)...};
|
return Overload<std::remove_cvref_t<Funcs>...>{std::forward<Funcs>(funcs)...};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct Value
|
||||||
|
|
||||||
template<typename T> requires (not std::is_same_v<Value, T>)
|
template<typename T> requires (not std::is_same_v<Value, T>)
|
||||||
Value(T&& val)
|
Value(T&& val)
|
||||||
: m_value{new Model<std::decay_t<T>>{std::forward<T>(val)}} {}
|
: m_value{new Model<std::remove_cvref_t<T>>{std::forward<T>(val)}} {}
|
||||||
|
|
||||||
Value(const Value& val) = delete;
|
Value(const Value& val) = delete;
|
||||||
Value(Value&&) = default;
|
Value(Value&&) = default;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user