33 enum class [[deprecated (
"Since Stroika v3.0d23 use FloatFormatType 'trim' variant instead")]]
TrimTrailingZerosType {
40 DISABLE_COMPILER_GCC_WARNING_START ("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
41 DISABLE_COMPILER_CLANG_WARNING_START ("clang diagnostic ignored \"-Wdeprecated-declarations\"");
44 DISABLE_COMPILER_MSC_WARNING_END (4996)
45 DISABLE_COMPILER_GCC_WARNING_END ("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
46 DISABLE_COMPILER_CLANG_WARNING_END ("clang diagnostic ignored \"-Wdeprecated-declarations\"");
118 using RepType =
unsigned int;
163 template <
floating_po
int T>
190 template <IStdBasicStringCompatibleCharacter CHAR>
191 static constexpr auto Calculate (span<const CHAR> number) -> RepType;
197 optional<RepType> fSignificantFigures_{6};
200 using Precision [[deprecated (
"Since Stroika v3.0d23 use SignificantFigures instead")]] =
204 DISABLE_COMPILER_GCC_WARNING_START ("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
205 DISABLE_COMPILER_CLANG_WARNING_START ("clang diagnostic ignored \"-Wdeprecated-declarations\"")
336 eAutomaticScientific [[deprecated (
"Since Stroika v3.0d23 use eDefaultFloat instead")]],
345 using FloatFormatType::eAutomaticScientific;
346 DISABLE_COMPILER_MSC_WARNING_END (4996)
347 DISABLE_COMPILER_GCC_WARNING_END ("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
348 DISABLE_COMPILER_CLANG_WARNING_END ("clang diagnostic ignored \"-Wdeprecated-declarations\"");
383 DISABLE_COMPILER_GCC_WARNING_START ("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
384 DISABLE_COMPILER_CLANG_WARNING_START ("clang diagnostic ignored \"-Wdeprecated-declarations\"");
386 DISABLE_COMPILER_MSC_WARNING_END (4996)
387 DISABLE_COMPILER_GCC_WARNING_END ("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
388 DISABLE_COMPILER_CLANG_WARNING_END ("clang diagnostic ignored \"-Wdeprecated-declarations\"");
390 template <typename... ARGS>
397 [[deprecated ("Since Stroika v3.0d23 use
FloatFormatType 'trim' variant instead")]]
398 constexpr optional<
bool> GetTrimTrailingZeros () const;
406 nonvirtual locale GetUseLocale () const;
412 nonvirtual
bool GetUsingLocaleClassic () const;
418 constexpr optional<ios_base::fmtflags> GetIOSFmtFlags () const;
421 [[deprecated ("Since Stroika v3.0d23 use
FloatFormatType 'trim' variant instead")]]
422 static constexpr
bool kDefaultTrimTrailingZeros{
true};
431 optional<SignificantFigures> fSignificantFigures_;
432 optional<ios_base::fmtflags> fFmtFlags_;
433 bool fUseCurrentLocale_{
false};
434 optional<locale> fUseLocale_;
435 optional<bool> fTrimTrailingZeros_;
436 optional<FloatFormatType> fFloatFormat_;
459 template <Common::IAnyOf<String,
string, w
string> STRING_TYPE = String,
floating_po
int FLOAT_TYPE =
float>
460 STRING_TYPE
ToString (FLOAT_TYPE f,
const ToStringOptions& options = {});
508 template <
floating_po
int T =
double, IUNICODECanUnambiguouslyConvertFrom CHAR_T>
509 T ToFloat (span<const CHAR_T> s);
510 template <
floating_po
int T =
double, IUNICODECanUnambiguouslyConvertFrom CHAR_T>
511 T ToFloat (span<const CHAR_T> s,
typename span<const CHAR_T>::iterator* remainder);
512 template <
floating_po
int T =
double,
typename STRINGISH_ARG>
513 T ToFloat (STRINGISH_ARG&& s)
514 requires (IConvertibleToString<STRINGISH_ARG> or is_convertible_v<STRINGISH_ARG, std::string>);
515 template <
floating_po
int T =
double>
516 T ToFloat (
const String& s, String* remainder);