due to GCC strange behavior with cast operator AdcDeviceAttribute class is now

has its own full "value holder" implementation without inheritance from
AdcValueHolder
This commit is contained in:
Timur A. Fatkhullin
2024-05-15 02:27:16 +03:00
parent e23fc602be
commit 5dcc57707b
4 changed files with 399 additions and 66 deletions

View File

@@ -70,8 +70,8 @@ struct adc_func_traits_helper_t<R, Arg, Args...> {
// callable concept and its signature traits
template <typename T>
concept adc_is_callable =
std::is_function_v<T> || (std::is_object_v<T> && requires(T) { std::is_function_v<decltype(&T::operator())>; });
concept adc_is_callable = std::is_function_v<T> || (std::is_object_v<T> && requires(T) { &T::operator(); });
// std::is_function_v<T> || (std::is_object_v<T> && requires(T) { std::is_function_v<decltype(&T::operator())>; });
template <typename F>
struct adc_func_traits {