The Battle for Wesnoth  1.15.6+dev
Classes | Namespaces | Macros | Functions | Variables
string_utils.cpp File Reference
#include "formula/string_utils.hpp"
#include "variable.hpp"
#include "config.hpp"
#include "log.hpp"
#include "gettext.hpp"
Include dependency graph for string_utils.cpp:

Go to the source code of this file.


class  utils::string_map_variable_set< T >




#define GETTEXT_DOMAIN   "wesnoth-lib"
#define ERR_NG   LOG_STREAM(err, log_engine)
#define WRN_NG   LOG_STREAM(warn, log_engine)


static bool two_dots (char a, char b)
static std::string do_interpolation (const std::string &str, const variable_set &set)
std::string utils::interpolate_variables_into_string (const std::string &str, const string_map *const symbols)
 Function which will interpolate variables, starting with '$' in the string 'str' with the equivalent symbols in the given symbol table. More...
std::string utils::interpolate_variables_into_string (const std::string &str, const std::map< std::string, std::string > *const symbols)
std::string utils::interpolate_variables_into_string (const std::string &str, const variable_set &variables)
t_string utils::interpolate_variables_into_tstring (const t_string &str, const variable_set &variables)
 Function that does the same as the above, for t_stringS. More...
std::string utils::format_conjunct_list (const t_string &empty, const std::vector< t_string > &elems)
 Format a conjunctive list. More...
std::string utils::format_disjunct_list (const t_string &empty, const std::vector< t_string > &elems)
 Format a disjunctive list. More...
std::string utils::format_timespan (std::time_t time)
 Formats a timespan into human-readable text. More...
std::string vgettext_impl (const char *domain, const char *msgid, const utils::string_map &symbols)
 Implementation functions for the VGETTEXT and VNGETTEXT macros. More...
std::string vngettext_impl (const char *domain, const char *singular, const char *plural, int count, const utils::string_map &symbols)


static lg::log_domain log_engine ("engine")
std::string(* utils::detail::evaluate_formula )(const std::string &formula) = nullptr

Macro Definition Documentation


#define ERR_NG   LOG_STREAM(err, log_engine)

Definition at line 26 of file string_utils.cpp.

Referenced by do_interpolation().


#define GETTEXT_DOMAIN   "wesnoth-lib"

Definition at line 16 of file string_utils.cpp.


#define WRN_NG   LOG_STREAM(warn, log_engine)

Definition at line 27 of file string_utils.cpp.

Referenced by do_interpolation().

Function Documentation

◆ do_interpolation()

static std::string do_interpolation ( const std::string &  str,
const variable_set set 

the default value is specified after ''?'

Definition at line 65 of file string_utils.cpp.

References c, config_attribute_value::empty(), ERR_NG, utils::detail::evaluate_formula, str, mariadb::value::string, two_dots(), and WRN_NG.

Referenced by utils::interpolate_variables_into_string().

◆ two_dots()

static bool two_dots ( char  a,
char  b 

Definition at line 29 of file string_utils.cpp.

Referenced by do_interpolation().

◆ vgettext_impl()

std::string vgettext_impl ( const char *  domain,
const char *  msgid,
const utils::string_map symbols 

Implementation functions for the VGETTEXT and VNGETTEXT macros.

DO NOT USE DIRECTLY unless you really know what you're doing. See for more info.

Definition at line 328 of file string_utils.cpp.

References translation::dsgettext(), utils::interpolate_variables_into_string(), wfl::msg(), and mariadb::value::string.

Referenced by utils::might_contain_variables().

◆ vngettext_impl()

std::string vngettext_impl ( const char *  domain,
const char *  singular,
const char *  plural,
int  count,
const utils::string_map symbols 

Variable Documentation

◆ log_engine

lg::log_domain log_engine("engine")