From a524dfa2a7ddc7ee6e9f10c2347a9a42993913b1 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Fri, 8 Jul 2022 21:59:39 +0200 Subject: [PATCH] add Space::to_float(...), to_double(...) and to_long_double(...) methods --- src/space/space.cpp | 21 +++++++++++++++++++++ src/space/space.h | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/src/space/space.cpp b/src/space/space.cpp index da5a5b8..e20ffd7 100644 --- a/src/space/space.cpp +++ b/src/space/space.cpp @@ -1277,6 +1277,27 @@ unsigned long long Space::to_ulong_long(const wchar_t * field, unsigned long lon return space ? space->to_ulong_long() : default_value; } +float Space::to_float(const wchar_t * field, float default_value) const +{ + const Space * space = get_space(field); + return space ? space->to_float() : default_value; +} + + +double Space::to_double(const wchar_t * field, double default_value) const +{ + const Space * space = get_space(field); + return space ? space->to_double() : default_value; +} + + +long double Space::to_long_double(const wchar_t * field, long double default_value) const +{ + const Space * space = get_space(field); + return space ? space->to_long_double() : default_value; +} + + std::string Space::to_str(const wchar_t * field, const char * default_value) const { const Space * space = get_space(field); diff --git a/src/space/space.h b/src/space/space.h index 307eae6..95094f8 100644 --- a/src/space/space.h +++ b/src/space/space.h @@ -387,6 +387,10 @@ public: unsigned long to_ulong(const wchar_t * field, unsigned long default_value = 0) const; unsigned long long to_ullong(const wchar_t * field, unsigned long long default_value = 0) const; unsigned long long to_ulong_long(const wchar_t * field, unsigned long long default_value = 0) const; + float to_float(const wchar_t * field, float default_value = 0.0f) const; + double to_double(const wchar_t * field, double default_value = 0.0) const; + long double to_long_double(const wchar_t * field, long double default_value = 0.0L) const; + std::string to_str(const wchar_t * field, const char * default_value = nullptr) const; std::string to_str(const wchar_t * field, const std::string & default_value) const; std::wstring to_wstr(const wchar_t * field, const wchar_t * default_value = nullptr) const;