libzypp  13.10.6
String.cc File Reference
#include <cstdio>
#include <cstdarg>
#include <iostream>
#include "zypp/base/String.h"
#include "zypp/base/LogTools.h"

Go to the source code of this file.

Namespaces

 zypp
 Easy-to use interface to the ZYPP dependency resolver.
 
 zypp::str
 String related utilities and Regular expression matching.
 

Functions

std::string zypp::str::form (const char *format,...) __attribute__((format(printf
 Printf style construction of std::string. More...
 
std::string zypp::str::strerror (int errno_r)
 Return string describing the error_r code. More...
 
std::string zypp::str::stripFirstWord (std::string &line, const bool ltrim_first)
 
std::string zypp::str::stripLastWord (std::string &line, const bool rtrim_first)
 
std::string zypp::str::gsub (const std::string &str_r, const std::string &from_r, const std::string &to_r)
 Return a string with all occurrences of from_r replaced with to_r. More...
 
std::string & zypp::str::replaceAll (std::string &str_r, const std::string &from_r, const std::string &to_r)
 Replace all occurrences of from_r with to_r in str_r (inplace). More...
 
std::string zypp::str::gsubFun (const std::string &str_r, const std::string &from_r, function< std::string()> to_r)
 
std::string & zypp::str::replaceAllFun (std::string &str_r, const std::string &from_r, function< std::string()> to_r)
 
std::string zypp::str::getline (std::istream &str, const Trim trim_r)
 Return stream content up to (but not returning) the next newline. More...
 
std::string zypp::str::getline (std::istream &str, bool trim=false)
 Return stream content up to (but not returning) the next newline. More...
 
std::string zypp::str::receiveUpTo (std::istream &str, const char delim_r, bool returnDelim_r=false)
 Return stream content up to the next ocurrence of delim_r or EOF delim_r, if found, is always read from the stream. More...
 
bool zypp::str::strToTrue (const C_Str &str)
 Parsing boolean from string. More...
 
bool zypp::str::strToFalse (const C_Str &str)
 Return false if str is 0, false, no, off. More...
 
Hexencode.

Encode all characters other than [a-zA-Z0-9] as XX.

Todo:
unsecape()

This includes the % character itself, which becomes %25.

std::string zypp::str::hexencode (const C_Str &str_r)
 Encode all characters other than [a-zA-Z0-9] as XX. More...
 
std::string zypp::str::hexdecode (const C_Str &str_r)
 Decode hexencoded XX sequences. More...
 
Case conversion.
std::string zypp::str::toLower (const std::string &s)
 Return lowercase version of s. More...
 
std::string zypp::str::toUpper (const std::string &s)
 Return uppercase version of s. More...
 
Trimming whitepace.
Todo:
optimize l/r trim.
std::string zypp::str::trim (const std::string &s, const Trim trim_r)
 
Escape.
std::string zypp::str::escape (const C_Str &str_r, const char c= ' ')
 Escape desired character c using a backslash. More...