mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 13:03:36 +00:00
Correct is_space fix for Windows compatibility
Signed-off-by: Alexander Borsuk <me@alex.bio>
This commit is contained in:
committed by
Konstantin Pastbin
parent
826b56cabc
commit
55dc1e17e6
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <fast_double_parser.h>
|
||||
#include <boost/algorithm/string/trim.hpp>
|
||||
#include <string>
|
||||
|
||||
namespace strings
|
||||
{
|
||||
@@ -227,15 +228,15 @@ void AsciiToUpper(std::string & s)
|
||||
|
||||
void Trim(std::string & s)
|
||||
{
|
||||
boost::trim_if(s, ::isspace);
|
||||
boost::trim_if(s, IsASCIISpace<std::string::value_type>);
|
||||
}
|
||||
|
||||
void Trim(std::string_view & sv)
|
||||
{
|
||||
auto const beg = std::find_if(sv.cbegin(), sv.cend(), [](auto c) { return !std::isspace(c); });
|
||||
auto const beg = std::find_if(sv.cbegin(), sv.cend(), [](auto c) { return !IsASCIISpace(c); });
|
||||
if (beg != sv.end())
|
||||
{
|
||||
auto const end = std::find_if(sv.crbegin(), sv.crend(), [](auto c) { return !std::isspace(c); }).base();
|
||||
auto const end = std::find_if(sv.crbegin(), sv.crend(), [](auto c) { return !IsASCIISpace(c); }).base();
|
||||
sv = std::string_view(sv.data() + std::distance(sv.begin(), beg), std::distance(beg, end));
|
||||
}
|
||||
else
|
||||
@@ -355,11 +356,6 @@ bool IsASCIIDigit(UniChar c)
|
||||
return c >= '0' && c <= '9';
|
||||
}
|
||||
|
||||
bool IsASCIISpace(UniChar c)
|
||||
{
|
||||
return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v';
|
||||
}
|
||||
|
||||
bool IsASCIILatin(UniChar c)
|
||||
{
|
||||
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
|
||||
|
||||
Reference in New Issue
Block a user