Main MRPT website > C++ reference
MRPT logo
Functions
String management and utilities (in #include <mrpt/system/string_utils.h>)

Detailed Description

Collaboration diagram for String management and utilities (in #include <mrpt/system/string_utils.h>):

Functions

char BASE_IMPEXPmrpt::system::strtok (char *str, const char *strDelimit, char **context) MRPT_NO_THROWS
 An OS-independent method for tokenizing a string. More...
 
void BASE_IMPEXP mrpt::system::tokenize (const std::string &inString, const std::string &inDelimiters, std::deque< std::string > &outTokens) MRPT_NO_THROWS
 Tokenizes a string according to a set of delimiting characters. More...
 
void BASE_IMPEXP mrpt::system::tokenize (const std::string &inString, const std::string &inDelimiters, std::vector< std::string > &outTokens) MRPT_NO_THROWS
 Tokenizes a string according to a set of delimiting characters. More...
 
std::string BASE_IMPEXP mrpt::system::trim (const std::string &str)
 Removes leading and trailing spaces. More...
 
std::string BASE_IMPEXP mrpt::system::upperCase (const std::string &str)
 Returns a lower-case version of a string. More...
 
std::string BASE_IMPEXP mrpt::system::lowerCase (const std::string &str)
 Returns an upper-case version of a string. More...
 
void BASE_IMPEXP mrpt::system::decodeUTF8 (const std::string &strUTF8, vector_word &out_uniStr)
 Decodes a UTF-8 string into an UNICODE string. More...
 
void BASE_IMPEXP mrpt::system::encodeUTF8 (const vector_word &input, std::string &output)
 Encodes a 2-bytes UNICODE string into a UTF-8 string. More...
 
void BASE_IMPEXP mrpt::system::encodeBase64 (const vector_byte &inputData, std::string &outString)
 Encode a sequence of bytes as a string in base-64. More...
 
bool BASE_IMPEXP mrpt::system::decodeBase64 (const std::string &inString, vector_byte &outData)
 Decode a base-64 string into the original sequence of bytes. More...
 
std::string BASE_IMPEXP mrpt::system::unitsFormat (const double val, int nDecimalDigits=2, bool middle_space=true)
 This function implements formatting with the appropriate SI metric unit prefix: 1e-12->'p', 1e-9->'n', 1e-6->'u', 1e-3->'m', 1->'', 1e3->'K', 1e6->'M', 1e9->'G', 1e12->'T'. More...
 
std::string BASE_IMPEXP mrpt::system::rightPad (const std::string &str, const size_t total_len, bool truncate_if_larger=false)
 Enlarge the string with spaces up to the given length. More...
 
bool BASE_IMPEXP mrpt::system::strCmp (const std::string &s1, const std::string &s2)
 Return true if the two strings are equal (case sensitive) More...
 
bool BASE_IMPEXP mrpt::system::strCmpI (const std::string &s1, const std::string &s2)
 Return true if the two strings are equal (case insensitive) More...
 
bool BASE_IMPEXP mrpt::system::strStarts (const std::string &str, const std::string &subStr)
 Return true if "str" starts with "subStr" (case sensitive) More...
 
bool BASE_IMPEXP mrpt::system::strStartsI (const std::string &str, const std::string &subStr)
 Return true if "str" starts with "subStr" (case insensitive) More...
 
template<typename T >
std::string mrpt::system::sprintf_container (const char *fmt, const T &V)
 Generates a string for a container in the format [A,B,C,...], and the fmt string for each vector element. More...
 

Function Documentation

◆ decodeBase64()

bool BASE_IMPEXP mrpt::system::decodeBase64 ( const std::string &  inString,
vector_byte outData 
)

Decode a base-64 string into the original sequence of bytes.

See also
encodeBase64
Returns
false on invalid base-64 string passed as input, true on success.

◆ decodeUTF8()

void BASE_IMPEXP mrpt::system::decodeUTF8 ( const std::string &  strUTF8,
vector_word out_uniStr 
)

◆ encodeBase64()

void BASE_IMPEXP mrpt::system::encodeBase64 ( const vector_byte inputData,
std::string &  outString 
)

Encode a sequence of bytes as a string in base-64.

See also
decodeBase64

◆ encodeUTF8()

void BASE_IMPEXP mrpt::system::encodeUTF8 ( const vector_word input,
std::string &  output 
)

◆ lowerCase()

std::string BASE_IMPEXP mrpt::system::lowerCase ( const std::string &  str)

Returns an upper-case version of a string.

See also
upperCase

◆ rightPad()

std::string BASE_IMPEXP mrpt::system::rightPad ( const std::string &  str,
const size_t  total_len,
bool  truncate_if_larger = false 
)

Enlarge the string with spaces up to the given length.

◆ sprintf_container()

template<typename T >
std::string mrpt::system::sprintf_container ( const char *  fmt,
const T &  V 
)

Generates a string for a container in the format [A,B,C,...], and the fmt string for each vector element.

Definition at line 140 of file string_utils.h.

References mrpt::format().

Referenced by mrpt::srba::RbaEngine< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::optimize_edges().

◆ strCmp()

bool BASE_IMPEXP mrpt::system::strCmp ( const std::string &  s1,
const std::string &  s2 
)

Return true if the two strings are equal (case sensitive)

See also
strCmpI

◆ strCmpI()

bool BASE_IMPEXP mrpt::system::strCmpI ( const std::string &  s1,
const std::string &  s2 
)

Return true if the two strings are equal (case insensitive)

See also
strCmp

Referenced by mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file().

◆ strStarts()

bool BASE_IMPEXP mrpt::system::strStarts ( const std::string &  str,
const std::string &  subStr 
)

Return true if "str" starts with "subStr" (case sensitive)

See also
strStartsI

Referenced by mrpt::utils::CTextFileLinesParser::getNextLine().

◆ strStartsI()

bool BASE_IMPEXP mrpt::system::strStartsI ( const std::string &  str,
const std::string &  subStr 
)

Return true if "str" starts with "subStr" (case insensitive)

See also
strStarts

◆ strtok()

char BASE_IMPEXP* mrpt::system::strtok ( char *  str,
const char *  strDelimit,
char **  context 
)

An OS-independent method for tokenizing a string.

The extra parameter "context" must be a pointer to a "char*" variable, which needs no initialization and is used to save information between calls to strtok.

See also
system::tokenize

◆ tokenize() [1/2]

void BASE_IMPEXP mrpt::system::tokenize ( const std::string &  inString,
const std::string &  inDelimiters,
std::deque< std::string > &  outTokens 
)

Tokenizes a string according to a set of delimiting characters.

Example:

std::vector<std::string> tokens;
tokenize( " - Pepe-Er Muo"," -",tokens);

Will generate 3 tokens:

  • "Pepe"
  • "Er"
  • "Muo"

Referenced by mrpt::utils::CConfigFileBase::read_vector().

◆ tokenize() [2/2]

void BASE_IMPEXP mrpt::system::tokenize ( const std::string &  inString,
const std::string &  inDelimiters,
std::vector< std::string > &  outTokens 
)

Tokenizes a string according to a set of delimiting characters.

Example:

std::vector<std::string> tokens;
tokenize( " - Pepe-Er Muo"," -",tokens);

Will generate 3 tokens:

  • "Pepe"
  • "Er"
  • "Muo"

◆ trim()

std::string BASE_IMPEXP mrpt::system::trim ( const std::string &  str)

Removes leading and trailing spaces.

Referenced by mrpt::utils::CTextFileLinesParser::getNextLine().

◆ unitsFormat()

std::string BASE_IMPEXP mrpt::system::unitsFormat ( const double  val,
int  nDecimalDigits = 2,
bool  middle_space = true 
)

This function implements formatting with the appropriate SI metric unit prefix: 1e-12->'p', 1e-9->'n', 1e-6->'u', 1e-3->'m', 1->'', 1e3->'K', 1e6->'M', 1e9->'G', 1e12->'T'.

See also
intervalFormat

◆ upperCase()

std::string BASE_IMPEXP mrpt::system::upperCase ( const std::string &  str)

Returns a lower-case version of a string.

See also
lowerCase



Page generated by Doxygen 1.8.14 for MRPT 1.0.2 SVN: at lun oct 28 00:52:41 CET 2019 Hosted on:
SourceForge.net Logo