userver: userver/utils/text_light.hpp File Reference
Loading...
Searching...
No Matches
text_light.hpp File Reference

Detailed Description

Text utilities that do not use locales.

Definition in file text_light.hpp.

Go to the source code of this file.

#include <string>
#include <string_view>
#include <vector>
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  utils
 Utilities.
 
namespace  utils::text
 Text utilities.
 
namespace  utils::text::utf8
 UTF8 text utilities.
 

Enumerations

enum class  SplitFlags {
  kNone = 0 ,
  kCompressAdjacentSeparators = 1 << 0
}
 

Functions

std::string utils::text::Trim (const std::string &str)
 Return trimmed copy of string.
 
std::string utils::text::Trim (std::string &&str)
 Trim string in-place.
 
std::vector< std::string > utils::text::Split (std::string_view str, std::string_view separators, SplitFlags split_flags=SplitFlags::kCompressAdjacentSeparators)
 
std::vector< std::string_view > utils::text::SplitIntoStringViewVector (std::string_view str, std::string_view separators)
 
std::string utils::text::Join (const std::vector< std::string > &strs, std::string_view sep)
 Join string.
 
std::string utils::text::Format (double value, int ndigits)
 Return number formatted.
 
constexpr bool utils::text::StartsWith (std::string_view hay, std::string_view needle) noexcept
 Return true if hay starts with needle, false otherwise.
 
constexpr bool utils::text::EndsWith (std::string_view hay, std::string_view needle) noexcept
 Return true if hay ends with needle, false otherwise.
 
bool utils::text::ICaseStartsWith (std::string_view hay, std::string_view needle) noexcept
 Case insensitive (ASCII only) variant of StartsWith()
 
bool utils::text::ICaseEndsWith (std::string_view hay, std::string_view needle) noexcept
 Case insensitive (ASCII only) variant of EndsWith()
 
std::string utils::text::RemoveQuotes (std::string_view str)
 
bool utils::text::IsAscii (char ch) noexcept
 Checks whether the character is an ASCII character.
 
bool utils::text::IsAsciiSpace (char ch) noexcept
 Checks whether the character is a whitespace character in C locale.
 
bool utils::text::IsAscii (std::string_view text) noexcept
 Checks if text contains only ASCII characters.
 
unsigned utils::text::utf8::CodePointLengthByFirstByte (unsigned char c) noexcept
 Returns the length in bytes of the UTF-8 code point by the first byte.
 
bool utils::text::utf8::IsWellFormedCodePoint (const unsigned char *bytes, std::size_t length) noexcept
 bytes must not be a nullptr, length must not be 0.
 
bool utils::text::utf8::IsValid (const unsigned char *bytes, std::size_t length) noexcept
 bytes must not be a nullptr, length must not be 0.
 
std::size_t utils::text::utf8::GetCodePointsCount (std::string_view text)
 
void utils::text::utf8::TrimTruncatedEnding (std::string &str)
 
void utils::text::utf8::TrimViewTruncatedEnding (std::string_view &view)
 
std::size_t utils::text::utf8::GetTextPosByCodePointPos (std::string_view text, std::size_t pos) noexcept
 
void utils::text::utf8::RemovePrefix (std::string &text, std::size_t count) noexcept
 
void utils::text::utf8::RemoveViewPrefix (std::string_view &text, std::size_t count) noexcept
 
void utils::text::utf8::TakePrefix (std::string &text, std::size_t count) noexcept
 
void utils::text::utf8::TakeViewPrefix (std::string_view &text, std::size_t count) noexcept
 
bool utils::text::IsUtf8 (std::string_view text) noexcept
 Checks if text is in utf-8 encoding.
 
bool utils::text::IsPrintable (std::string_view text, bool ascii_only=true) noexcept
 
bool utils::text::IsCString (std::string_view text) noexcept
 Checks if there are no embedded null ('\0') characters in text.
 
std::string utils::text::CamelCaseToSnake (std::string_view camel)
 convert CamelCase to snake_case(underscore)