Various string-routines. More...
#include "global.hpp"
#include "gettext.hpp"
#include "log.hpp"
#include "serialization/string_utils.hpp"
#include "serialization/unicode.hpp"
#include "util.hpp"
#include <cassert>
#include <boost/array.hpp>
#include <boost/lexical_cast.hpp>
Go to the source code of this file.
Namespaces | |
utils | |
Macros | |
#define | ERR_GENERAL LOG_STREAM(err, lg::general()) |
#define | ERR_NG LOG_STREAM(err, log_engine) |
Functions | |
bool | utils::isnewline (const char c) |
bool | utils::portable_isspace (const char c) |
bool | utils::notspace (const char c) |
std::vector< std::string > | utils::split (std::string const &val, const char c, const int flags) |
Splits a (comma-)separated string into a vector of pieces. More... | |
std::vector< std::string > | utils::square_parenthetical_split (std::string const &val, const char separator= ',', std::string const &left="([", std::string const &right=")]", const int flags=REMOVE_EMPTY|STRIP_SPACES) |
Similar to parenthetical_split, but also expands embedded square brackets. More... | |
std::map< std::string, std::string > | utils::map_split (std::string const &val, char major= ',', char minor= ':', int flags=REMOVE_EMPTY|STRIP_SPACES, std::string const &default_value="") |
Splits a string based on two separators into a map. More... | |
std::vector< std::string > | utils::parenthetical_split (std::string const &val, const char separator=0, std::string const &left="(", std::string const &right=")", const int flags=REMOVE_EMPTY|STRIP_SPACES) |
Splits a string based either on a separator where text within parenthesis is protected from splitting (Note that one can use the same character for both the left and right parenthesis. More... | |
int | utils::apply_modifier (const int number, const std::string &amount, const int minimum) |
std::string | utils::escape (const std::string &str, const char *special_chars) |
Prepends a configurable set of characters with a backslash. More... | |
static void | utils::si_string_impl_stream_write (std::stringstream &ss, double input) |
static bool | utils::is_username_char (char c) |
static bool | utils::is_wildcard_char (char c) |
static bool | utils::is_word_boundary (char c) |
std::string | utils::indent (const std::string &string, size_t indent_size=4) |
Indent a block of text. More... | |
std::vector< std::string > | utils::quoted_split (std::string const &val, char c= ',', int flags=REMOVE_EMPTY|STRIP_SPACES, char quote= '\\') |
This function is identical to split(), except it does not split when it otherwise would if the previous character was identical to the parameter 'quote'. More... | |
std::pair< int, int > | utils::parse_range (std::string const &str) |
std::vector< std::pair< int, int > > | utils::parse_ranges (std::string const &str) |
std::string | utils::replace (std::string str, const std::string &src, const std::string &dst) |
Replace all instances of src in str with dst. More... | |
std::string & | utils::strip (std::string &str) |
Remove whitespace from the front and back of the string 'str'. More... | |
std::string & | utils::strip_end (std::string &str) |
Remove whitespace from the back of the string 'str'. More... | |
std::string | utils::unescape (const std::string &str) |
Remove all escape characters (backslash) More... | |
std::string | utils::urlencode (const std::string &str) |
Percent-escape characters in a UTF-8 string intended to be part of a URL. More... | |
bool | utils::string_bool (const std::string &str, bool def=false) |
Convert no, false, off, 0, 0.0 to false, empty to def, and others to true. More... | |
std::string | utils::signed_value (int val) |
Convert into a signed value (using the Unicode "−" and +0 convention. More... | |
std::string | utils::half_signed_value (int val) |
Sign with Unicode "−" if negative. More... | |
std::string | utils::si_string (double input, bool base2, std::string unit) |
Convert into a string with an SI-postfix. More... | |
bool | utils::isvalid_username (const std::string &login) |
Check if the username contains only valid characters. More... | |
bool | utils::isvalid_wildcard (const std::string &login) |
Check if the username pattern contains only valid characters. More... | |
bool | utils::word_completion (std::string &text, std::vector< std::string > &wordlist) |
Try to complete the last word of 'text' with the 'wordlist'. More... | |
bool | utils::word_match (const std::string &message, const std::string &word) |
Check if a message contains a word. More... | |
bool | utils::wildcard_string_match (const std::string &str, const std::string &match) |
Match using '*' as any number of characters (including none), and '?' as any one character. More... | |
void | utils::ellipsis_truncate (std::string &str, const size_t size) |
Truncates a string to a given utf-8 character count and then appends an ellipsis. More... | |
Variables | |
static lg::log_domain | log_engine ("engine") |
const std::string | utils::ellipsis = "..." |
const std::string | utils::unicode_minus = "−" |
const std::string | utils::unicode_en_dash = "–" |
const std::string | utils::unicode_em_dash = "—" |
const std::string | utils::unicode_figure_dash = "‒" |
const std::string | utils::unicode_multiplication_sign = "×" |
const std::string | utils::unicode_bullet = "•" |
Various string-routines.
Definition in file string_utils.cpp.
#define ERR_GENERAL LOG_STREAM(err, lg::general()) |
Definition at line 34 of file string_utils.cpp.
Referenced by utils::parenthetical_split(), and utils::square_parenthetical_split().
#define ERR_NG LOG_STREAM(err, log_engine) |
Definition at line 35 of file string_utils.cpp.
|
static |