D
Size: a a a
D
VS
AK
VS
D
std::function
аллоцирует и использует type erasureПК
D
AM
AK
AP
DP
template <typename TFunc, typename TReturn, typename... TArgs>
concept callable = requires(TFunc func, TArgs... args) {
{ func(args...) } -> std::same_as<TReturn>;
};
template <typename T>
requires callable<T, char, int>
template<typename R, typename F, typename... Args>
concept Callable = std::is_invocable_r_v<R, F, Args...>;
DP
VS
AP
VS
VS
AP
AE