@@ -157,9 +157,9 @@ inline void make_uppercase(char* first, const char* last) noexcept
157157template <typename ... T>
158158inline auto snprintf_impl (char * buffer, std::size_t buf_size, const char * format, T... values) noexcept
159159 #ifndef BOOST_DECIMAL_HAS_CONCEPTS
160- -> std::enable_if_t <detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >, int >
160+ -> std::enable_if_t <detail::conjunction_v<detail::is_decimal_floating_point<T> ...>, int >
161161 #else
162- -> int requires detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >
162+ -> int requires detail::conjunction_v<detail::is_decimal_floating_point<T> ...>
163163 #endif
164164{
165165 if (buffer == nullptr || format == nullptr )
@@ -246,31 +246,20 @@ inline auto snprintf_impl(char* buffer, std::size_t buf_size, const char* format
246246template <typename ... T>
247247inline auto snprintf (char * buffer, std::size_t buf_size, const char * format, T... values) noexcept
248248 #ifndef BOOST_DECIMAL_HAS_CONCEPTS
249- -> std::enable_if_t <detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >, int >
249+ -> std::enable_if_t <detail::conjunction_v<detail::is_decimal_floating_point<T> ...>, int >
250250 #else
251- -> int requires detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >
251+ -> int requires detail::conjunction_v<detail::is_decimal_floating_point<T> ...>
252252 #endif
253253{
254254 return detail::snprintf_impl (buffer, buf_size, format, values...);
255255}
256256
257- template <typename ... T>
258- inline auto sprintf (char * buffer, const char * format, T... values) noexcept
259- #ifndef BOOST_DECIMAL_HAS_CONCEPTS
260- -> std::enable_if_t <detail::is_decimal_floating_point_v<std::common_type_t <T...>>, int >
261- #else
262- -> int requires detail::is_decimal_floating_point_v<std::common_type_t <T...>>
263- #endif
264- {
265- return detail::snprintf_impl (buffer, sizeof (buffer), format, values...);
266- }
267-
268257template <typename ... T>
269258inline auto fprintf (std::FILE* buffer, const char * format, T... values) noexcept
270- #ifndef BOOST_DECIMAL_HAS_CONCEPTS
271- -> std::enable_if_t <detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >, int >
259+ #ifndef BOOST_DECIMAL_HAS_CONCEPTS
260+ -> std::enable_if_t <detail::conjunction_v<detail::is_decimal_floating_point<T> ...>, int >
272261 #else
273- -> int requires detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >
262+ -> int requires detail::conjunction_v<detail::is_decimal_floating_point<T> ...>
274263 #endif
275264{
276265 if (format == nullptr )
@@ -319,9 +308,9 @@ inline auto fprintf(std::FILE* buffer, const char* format, T... values) noexcept
319308template <typename ... T>
320309inline auto printf (const char * format, T... values) noexcept
321310 #ifndef BOOST_DECIMAL_HAS_CONCEPTS
322- -> std::enable_if_t <detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >, int >
311+ -> std::enable_if_t <detail::conjunction_v<detail::is_decimal_floating_point<T> ...>, int >
323312 #else
324- -> int requires detail::is_decimal_floating_point_v<std:: common_type_t <T ...> >
313+ -> int requires detail::conjunction_v<detail::is_decimal_floating_point<T> ...>
325314 #endif
326315{
327316 return fprintf (stdout, format, values...);
0 commit comments