P
std::vector<std::vector<std::vector<T>>>
Size: a a a
P
std::vector<std::vector<std::vector<T>>>
LA
P
NK
template<class Functor, class Arg>
decltype(auto) try_invoke(Functor &&f, Arg &&arg) {
if constexpr (std::is_invocable_v<Functor, Arg>) {
return std::forward<Functor>(f)(std::forward<Arg>(arg));
}
else {
return std::forward<Arg>(arg);
}
}
Привет, можете подсказать, почему если убрать else
gcc ругается и говорит :D
template<class Functor, class Arg>
decltype(auto) try_invoke(Functor &&f, Arg &&arg) {
if constexpr (std::is_invocable_v<Functor, Arg>) {
return std::forward<Functor>(f)(std::forward<Arg>(arg));
}
else {
return std::forward<Arg>(arg);
}
}
Привет, можете подсказать, почему если убрать else
gcc ругается и говорит :inline
не нуженПК
template<class Functor, class Arg>
decltype(auto) try_invoke(Functor &&f, Arg &&arg) {
if constexpr (std::is_invocable_v<Functor, Arg>) {
return std::forward<Functor>(f)(std::forward<Arg>(arg));
}
else {
return std::forward<Arg>(arg);
}
}
Привет, можете подсказать, почему если убрать else
gcc ругается и говорит :NK
ПК
std::tuple
может держать ссылки? В cppref написано, что каждый тип в его шаблонных аргументах должен быть trivially destructibleПК
If std::is_trivially_destructible<Ti>::value is true for every Ti in Types, the destructor of tuple is trivial.
ПК
AT
D