@@ -139,7 +139,7 @@ struct convert_string
139139};
140140
141141template <typename J, typename Cpp>
142- struct convert <ref<J>, Cpp, std::enable_if_t <ref<string>::convertible_from<J > && std::is_convertible_v<Cpp, std::string> && !is_ref_v<Cpp>>> : convert_string
142+ struct convert <ref<J>, Cpp, std::enable_if_t <detail::is_convertible_element<J, string > && std::is_convertible_v<Cpp, std::string> && !is_ref_v<Cpp>>> : convert_string
143143{
144144};
145145
@@ -158,39 +158,39 @@ struct convert_primitive_object
158158};
159159
160160using boolean_class_name = SCAPIX_META_STRING (" java/lang/Boolean" );
161- template <typename J> struct convert <ref<J>, bool , std::enable_if_t <ref<boolean_class_name>::convertible_from<J >>> :
161+ template <typename J> struct convert <ref<J>, bool , std::enable_if_t <detail::is_convertible_element<J, boolean_class_name >>> :
162162convert_primitive_object<boolean_class_name, bool , jboolean, SCAPIX_META_STRING (" booleanValue" )> {};
163163
164164using byte_class_name = SCAPIX_META_STRING (" java/lang/Byte" );
165165
166166template <typename J, typename Cpp>
167- struct convert <ref<J>, Cpp, std::enable_if_t <ref<byte_class_name>::convertible_from<J > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int8_t )>> :
167+ struct convert <ref<J>, Cpp, std::enable_if_t <detail::is_convertible_element<J, byte_class_name > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int8_t )>> :
168168convert_primitive_object<byte_class_name, Cpp, jbyte, SCAPIX_META_STRING (" byteValue" )> {};
169169
170170using short_class_name = SCAPIX_META_STRING (" java/lang/Short" );
171171
172172template <typename J, typename Cpp>
173- struct convert <ref<J>, Cpp, std::enable_if_t <ref<short_class_name>::convertible_from<J > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int16_t )>> :
173+ struct convert <ref<J>, Cpp, std::enable_if_t <detail::is_convertible_element<J, short_class_name > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int16_t )>> :
174174convert_primitive_object<short_class_name, Cpp, jshort, SCAPIX_META_STRING (" shortValue" )> {};
175175
176176using integer_class_name = SCAPIX_META_STRING (" java/lang/Integer" );
177177
178178template <typename J, typename Cpp>
179- struct convert <ref<J>, Cpp, std::enable_if_t <ref<integer_class_name>::convertible_from<J > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int32_t )>> :
179+ struct convert <ref<J>, Cpp, std::enable_if_t <detail::is_convertible_element<J, integer_class_name > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int32_t )>> :
180180convert_primitive_object<integer_class_name, Cpp, jint, SCAPIX_META_STRING (" intValue" )> {};
181181
182182using long_class_name = SCAPIX_META_STRING (" java/lang/Long" );
183183
184184template <typename J, typename Cpp>
185- struct convert <ref<J>, Cpp, std::enable_if_t <ref<long_class_name>::convertible_from<J > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int64_t )>> :
185+ struct convert <ref<J>, Cpp, std::enable_if_t <detail::is_convertible_element<J, long_class_name > && std::is_integral_v<Cpp> && sizeof (Cpp) == sizeof (std::int64_t )>> :
186186convert_primitive_object<long_class_name, Cpp, jlong, SCAPIX_META_STRING (" longValue" )> {};
187187
188188using float_class_name = SCAPIX_META_STRING (" java/lang/Float" );
189- template <typename J> struct convert <ref<J>, float , std::enable_if_t <ref<float_class_name>::convertible_from<J >>> :
189+ template <typename J> struct convert <ref<J>, float , std::enable_if_t <detail::is_convertible_element<J, float_class_name >>> :
190190convert_primitive_object<float_class_name, float , jfloat, SCAPIX_META_STRING (" floatValue" )> {};
191191
192192using double_class_name = SCAPIX_META_STRING (" java/lang/Double" );
193- template <typename J> struct convert <ref<J>, double , std::enable_if_t <ref<double_class_name>::convertible_from<J >>> :
193+ template <typename J> struct convert <ref<J>, double , std::enable_if_t <detail::is_convertible_element<J, double_class_name >>> :
194194convert_primitive_object<double_class_name, double , jdouble, SCAPIX_META_STRING (" doubleValue" )> {};
195195
196196template <typename J, typename T, typename A>
0 commit comments