...
This commit is contained in:
@@ -145,6 +145,19 @@ template <typename T, typename... CtorArgTs>
|
||||
concept mcc_output_arg_c = !std::is_const_v<std::remove_reference_t<T>> && std::is_lvalue_reference_v<T> &&
|
||||
std::constructible_from<std::remove_reference_t<T>, CtorArgTs...>;
|
||||
|
||||
|
||||
|
||||
// std::tuple or std::pair
|
||||
template <typename T>
|
||||
concept mcc_tuple_c = requires {
|
||||
requires requires {
|
||||
[]<typename... Ts>(std::type_identity<std::tuple<Ts...>>) {}(std::type_identity<std::remove_cvref_t<T>>());
|
||||
} || requires {
|
||||
[]<typename T1, typename T2>(std::type_identity<std::pair<T1, T2>>) {
|
||||
}(std::type_identity<std::remove_cvref_t<T>>());
|
||||
};
|
||||
};
|
||||
|
||||
namespace details
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user