WarpX
Functions
ablastr::utils::text Namespace Reference

Functions

void goto_next_line (std::istream &is)
 This function drops the rest of the current line of the input stream "is". More...
 
template<typename Container >
auto split_string (std::string const &instr, std::string const &separator, bool const trim=false, std::string const &trim_space=" \t")
 Splits a string using a string separator. This is somewhat similar to amrex::Tokenize. The main difference is that, if the separator ":" is used, amrex::Tokenize will split ":3::2" into ["3","2"] while this functio will split ":3::2" into ["","3","","2"]. This function can also perform a trimming to remove whitespaces (or any other arbitrary string) from the split string. More...
 
std::vector< std::string > automatic_text_wrap (const std::string &text, int max_line_length)
 This function performs automatic text wrapping on a string, returning an array of strings each not exceeding the maximum line length (unless the text contains a word exceeding the maximum line length). More...
 

Function Documentation

◆ automatic_text_wrap()

std::vector< std::string > ablastr::utils::text::automatic_text_wrap ( const std::string &  text,
int  max_line_length 
)

This function performs automatic text wrapping on a string, returning an array of strings each not exceeding the maximum line length (unless the text contains a word exceeding the maximum line length).

Parameters
[in]textthe string containing the text to be wrapped
[in]max_line_lengththe maximum line length
Returns
an std::vector containing the lines of the wrapped text

◆ goto_next_line()

void ablastr::utils::text::goto_next_line ( std::istream &  is)

This function drops the rest of the current line of the input stream "is".

Parameters
[in,out]isthe input stream

◆ split_string()

template<typename Container >
auto ablastr::utils::text::split_string ( std::string const &  instr,
std::string const &  separator,
bool const  trim = false,
std::string const &  trim_space = " \t" 
)

Splits a string using a string separator. This is somewhat similar to amrex::Tokenize. The main difference is that, if the separator ":" is used, amrex::Tokenize will split ":3::2" into ["3","2"] while this functio will split ":3::2" into ["","3","","2"]. This function can also perform a trimming to remove whitespaces (or any other arbitrary string) from the split string.

Template Parameters
Containerthe type of the split string.
Parameters
[in]instrthe input string
[in]separatorthe separator string
[in]trimtrue to trim the split string, false otherwise.
[in]trim_spacethe string to trim if trim is true.
Returns
cont the split string