diff --git a/include/toml++/toml_array.h b/include/toml++/toml_array.h index 971296d7..a77c52da 100644 --- a/include/toml++/toml_array.h +++ b/include/toml++/toml_array.h @@ -1036,7 +1036,7 @@ TOML_NAMESPACE_START /// \returns An rvalue reference to the array. array&& flatten() && { - return static_cast(static_cast(*this).flatten()); + return std::move(this->flatten()); } /// \brief Prints the array out to a stream as formatted TOML. diff --git a/include/toml++/toml_default_formatter.hpp b/include/toml++/toml_default_formatter.hpp index d2c4034b..e2d14f4d 100644 --- a/include/toml++/toml_default_formatter.hpp +++ b/include/toml++/toml_default_formatter.hpp @@ -53,10 +53,7 @@ TOML_IMPL_NAMESPACE_START for (auto c : str) { if TOML_UNLIKELY(c >= '\x00' && c <= '\x1F') - { - const auto& sv = low_character_escape_table[c]; - s.append(reinterpret_cast(sv.data()), sv.length()); - } + s.append(low_character_escape_table[c]); else if TOML_UNLIKELY(c == '\x7F') s.append("\\u007F"sv); else if TOML_UNLIKELY(c == '"') @@ -141,7 +138,7 @@ TOML_IMPL_NAMESPACE_START weight += 1; v *= -1.0; } - return weight + static_cast(log10(static_cast(v))) + 1_sz; + return weight + static_cast(log10(v)) + 1_sz; break; } diff --git a/toml.hpp b/toml.hpp index 76e588e8..9a142be5 100644 --- a/toml.hpp +++ b/toml.hpp @@ -3963,7 +3963,7 @@ TOML_NAMESPACE_START array& flatten() &; array&& flatten() && { - return static_cast(static_cast(*this).flatten()); + return std::move(this->flatten()); } template @@ -8368,10 +8368,7 @@ TOML_IMPL_NAMESPACE_START for (auto c : str) { if TOML_UNLIKELY(c >= '\x00' && c <= '\x1F') - { - const auto& sv = low_character_escape_table[c]; - s.append(reinterpret_cast(sv.data()), sv.length()); - } + s.append(low_character_escape_table[c]); else if TOML_UNLIKELY(c == '\x7F') s.append("\\u007F"sv); else if TOML_UNLIKELY(c == '"') @@ -8456,7 +8453,7 @@ TOML_IMPL_NAMESPACE_START weight += 1; v *= -1.0; } - return weight + static_cast(log10(static_cast(v))) + 1_sz; + return weight + static_cast(log10(v)) + 1_sz; break; }