@@ -192,7 +192,9 @@ BOOST_DECIMAL_EXPORT class decimal_fast64_t final
192192 template <bool checked, BOOST_DECIMAL_DECIMAL_FLOATING_TYPE T>
193193 friend constexpr auto detail::d64_fma_impl (T x, T y, T z) noexcept -> T;
194194
195+ #if !defined(BOOST_DECIMAL_DISABLE_CLIB)
195196 constexpr decimal_fast64_t (const char * str, std::size_t len);
197+ #endif
196198
197199public:
198200 constexpr decimal_fast64_t () noexcept = default;
@@ -246,6 +248,8 @@ BOOST_DECIMAL_EXPORT class decimal_fast64_t final
246248
247249 friend constexpr auto direct_init_d64 (decimal_fast64_t ::significand_type significand, decimal_fast64_t ::exponent_type exponent, bool sign) noexcept -> decimal_fast64_t;
248250
251+ #if !defined(BOOST_DECIMAL_DISABLE_CLIB)
252+
249253 explicit constexpr decimal_fast64_t (const char * str);
250254
251255 #ifndef BOOST_DECIMAL_HAS_STD_STRING_VIEW
@@ -254,6 +258,8 @@ BOOST_DECIMAL_EXPORT class decimal_fast64_t final
254258 explicit constexpr decimal_fast64_t (std::string_view str);
255259 #endif
256260
261+ #endif // BOOST_DECIMAL_DISABLE_CLIB
262+
257263 // Classification functions
258264 friend constexpr auto signbit (decimal_fast64_t val) noexcept -> bool;
259265 friend constexpr auto isinf (decimal_fast64_t val) noexcept -> bool;
@@ -557,6 +563,8 @@ constexpr auto direct_init_d64(const decimal_fast64_t::significand_type signific
557563 return val;
558564}
559565
566+ #if !defined(BOOST_DECIMAL_DISABLE_CLIB)
567+
560568constexpr decimal_fast64_t::decimal_fast64_t (const char * str, const std::size_t len)
561569{
562570 if (str == nullptr || len == 0 )
@@ -594,6 +602,8 @@ inline decimal_fast64_t::decimal_fast64_t(const std::string& str) : decimal_fast
594602constexpr decimal_fast64_t::decimal_fast64_t (std::string_view str) : decimal_fast64_t(str.data(), str.size()) {}
595603#endif
596604
605+ #endif // BOOST_DECIMAL_DISABLE_CLIB
606+
597607constexpr auto signbit (const decimal_fast64_t val) noexcept -> bool
598608{
599609 return val.sign_ ;
0 commit comments