| @@ -39,7 +39,10 @@ namespace cppmp | |||||
| template<typename T_object, typename T_value> | template<typename T_object, typename T_value> | ||||
| struct getter_builder< | struct getter_builder< | ||||
| list<T_value T_object::*>, | list<T_value T_object::*>, | ||||
| void> | |||||
| enable_if_t< | |||||
| !is_valid_v<lambda_traits<T_value T_object::*>> | |||||
| > | |||||
| > | |||||
| { | { | ||||
| struct getter_member_var | struct getter_member_var | ||||
| : public tag_getter | : public tag_getter | ||||
| @@ -58,7 +58,7 @@ namespace cppmp | |||||
| template<typename T_object, typename T_return, typename... T_args> | template<typename T_object, typename T_return, typename... T_args> | ||||
| struct lambda_traits<T_return (T_object::*)(T_args...) const, void> | struct lambda_traits<T_return (T_object::*)(T_args...) const, void> | ||||
| : public __impl::lambda_traits_impl<false, T_object, T_return, T_args...> | |||||
| : public __impl::lambda_traits_impl<false, const T_object, T_return, T_args...> | |||||
| { }; | { }; | ||||
| } | } | ||||
| @@ -34,7 +34,7 @@ static_assert( type0::is_mutable_v == true, | |||||
| static_assert( type0::is_static_v == false, ""); | static_assert( type0::is_static_v == false, ""); | ||||
| static_assert( type0::argument_count_v == 1, ""); | static_assert( type0::argument_count_v == 1, ""); | ||||
| static_assert(is_same_v<typename type1::object_type, test_obj>, ""); | |||||
| static_assert(is_same_v<typename type1::object_type, const test_obj>, ""); | |||||
| static_assert(is_same_v<typename type1::return_type, double>, ""); | static_assert(is_same_v<typename type1::return_type, double>, ""); | ||||
| static_assert(is_same_v<typename type1::arguments_type, std::tuple<float, std::string>>, ""); | static_assert(is_same_v<typename type1::arguments_type, std::tuple<float, std::string>>, ""); | ||||
| static_assert( type1::is_mutable_v == false, ""); | static_assert( type1::is_mutable_v == false, ""); | ||||