zypp::str Namespace Reference

String related utilities and Regular expressions. More...


Classes

class  regex
class  smatch
struct  SafeBuf
 Assert free called for allocated char *. More...
struct  Str
 Convenient building of std::string via std::ostream::operator<<. More...

Typedefs

typedef Exception regex_error

Functions

bool regex_match (const char *s, str::smatch &matches, const regex &regex)
bool regex_match (const std::string &s, str::smatch &matches, const regex &regex)
bool regex_match (const char *s, const regex &regex)
bool regex_match (const std::string &s, const regex &regex)
std::string form (const char *format,...) __attribute__((format(printf
 Printf style construction of std::string.
std::string strerror (int errno_r)
 Return string describing the error_r code.
std::string stripFirstWord (std::string &line, const bool ltrim_first)
std::string stripLastWord (std::string &line, const bool rtrim_first)
string gsub (const string &sData, const string &sFrom, const string &sTo)
string & replaceAll (string &str, const string &from, const string &to)
std::string getline (std::istream &str, const Trim trim_r)
 Return stream content up to (but not returning) the next newline.
std::string getline (std::istream &str, bool trim=false)
 Return stream content up to (but not returning) the next newline.
std::string 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.
std::string asString (const std::string &t)
 Global asString() that works with std::string too.
std::string asString (const char *t)
template<class _T >
std::string asString (const _T &t)
template<class _T >
std::string asString (const intrusive_ptr< _T > &p)
template<class _T >
std::string asString (const weak_ptr< _T > &p)
template<>
std::string asString (const bool &t)
std::string gsub (const std::string &sData, const std::string &sFrom, const std::string &sTo)
 Looks for text in a string and replaces it.
std::string & replaceAll (std::string &str, const std::string &from, const std::string &to)
 Looks for text in string and replaces it in place.
bool strToTrue (const C_Str &str)
 Parsing boolean from string.
bool strToFalse (const C_Str &str)
 Return false if str is 0, false, no, off.
bool strToBool (const C_Str &str, bool default_r)
 Parse str into a bool depending on the default value.
bool strToBoolNodefault (const C_Str &str, bool &return_r)
 Parse str into a bool if it's a legal true or false string.
Hexencode.
Encode all characters other than [a-zA-Z0-9] as XX.

Todo:
unsecape()
This includes the % character itself, which becomes 25.

std::string hexencode (const C_Str &str_r)
 Encode all characters other than [a-zA-Z0-9] as XX.
std::string hexdecode (const C_Str &str_r)
 Decode hexencoded XX sequences.
Case conversion.
std::string toLower (const std::string &s)
 Return lowercase version of s.
std::string toUpper (const std::string &s)
 Return uppercase version of s.
std::string toLower (const char *s)
std::string toUpper (const char *s)
Join.
std::string escape (const C_Str &str_r, const char c= ' ')
 Escape desired character c using a backslash.
template<class _Iterator >
std::string join (_Iterator begin, _Iterator end, const C_Str &sep_r=" ")
 Join strings using separator sep_r (defaults to BLANK).
template<class _Container >
std::string join (const _Container &cont_r, const C_Str &sep_r=" ")
 Join strings using separator sep_r (defaults to BLANK).
template<class _Iterator >
std::string joinEscaped (_Iterator begin, _Iterator end, const char sep_r= ' ')
 Join strings using separator sep_r, quoting or escaping the values.
void appendEscaped (std::string &str_r, const C_Str &next_r, const char sep_r= ' ')
 Escape next_r and append it to str_r using separator sep_r.
String representation of number.
Optional second argument sets the minimal string width (' ' padded).

Negative values will cause the number to be left adjusted within the string.

Default width is 0.

 numstring(42)           -> "42"
 numstring(42, 4)        -> "  42"
 numstring(42,-4)        -> "42  "


std::string numstring (char n, int w=0)
std::string numstring (unsigned char n, int w=0)
std::string numstring (short n, int w=0)
std::string numstring (unsigned short n, int w=0)
std::string numstring (int n, int w=0)
std::string numstring (unsigned n, int w=0)
std::string numstring (long n, int w=0)
std::string numstring (unsigned long n, int w=0)
std::string numstring (long long n, int w=0)
std::string numstring (unsigned long long n, int w=0)
template<>
std::string asString (const char &t)
template<>
std::string asString (const unsigned char &t)
template<>
std::string asString (const short &t)
template<>
std::string asString (const unsigned short &t)
template<>
std::string asString (const int &t)
template<>
std::string asString (const unsigned &t)
template<>
std::string asString (const long &t)
template<>
std::string asString (const unsigned long &t)
template<>
std::string asString (const long long &t)
template<>
std::string asString (const unsigned long long &t)
String representation of number as hex value with leading '0x'.
Optional second argument sets the minimal string width (0 padded).

Negative values will cause the number to be left adjusted within the string. Default width is 10 (4 for char).

 hexstring(42)           -> "0x0000002a"
 hexstring(42, 4)        -> "0x2a"
 hexstring(42,-4)        -> "0x2a"
 


std::string hexstring (char n, int w=4)
std::string hexstring (unsigned char n, int w=4)
std::string hexstring (short n, int w=10)
std::string hexstring (unsigned short n, int w=10)
std::string hexstring (int n, int w=10)
std::string hexstring (unsigned n, int w=10)
std::string hexstring (long n, int w=10)
std::string hexstring (unsigned long n, int w=10)
std::string hexstring (long long n, int w=0)
std::string hexstring (unsigned long long n, int w=0)
String representation of number as octal value with leading '0'.
Optional second argument sets the minimal string width (0 padded).

Negative values will cause the number to be left adjusted within the string. Default width is 5 (4 for char).

 octstring(42)           -> "00052"
 octstring(42, 4)        -> "0052"
 octstring(42,-4)        -> "052 "
 


std::string octstring (char n, int w=4)
std::string octstring (unsigned char n, int w=4)
std::string octstring (short n, int w=5)
std::string octstring (unsigned short n, int w=5)
std::string octstring (int n, int w=5)
std::string octstring (unsigned n, int w=5)
std::string octstring (long n, int w=5)
std::string octstring (unsigned long n, int w=5)
std::string octstring (long long n, int w=0)
std::string octstring (unsigned long long n, int w=0)
template<typename _It >
_It strtonum (const C_Str &str)
 Parsing numbers from string.
template<typename _It >
_It strtonum (const C_Str &str, _It &i)
 String to integer type detemined 2nd function arg i.
Split.
template<class _OutputIterator >
unsigned split (const C_Str &line_r, _OutputIterator result_r, const C_Str &sepchars_r=" \t")
 Split line_r into words.
template<class _OutputIterator >
unsigned splitEscaped (const C_Str &line_r, _OutputIterator result_r, const C_Str &sepchars_r=" \t", bool withEmpty=false)
 Split line_r into words with respect to escape delimeters.
template<class _OutputIterator >
unsigned splitFields (const C_Str &line_r, _OutputIterator result_r, const C_Str &sepchars_r=":")
 Split line_r into fields.
template<class _OutputIterator >
unsigned splitFieldsEscaped (const C_Str &line_r, _OutputIterator result_r, const C_Str &sepchars_r=":")
 Split line_r into fields handling also escaped separators.
Case insensitive comparison.
int compareCI (const C_Str &lhs, const C_Str &rhs)
Locate substring.
bool contains (const C_Str &str_r, const C_Str &val_r)
 Locate substring case sensitive.
bool containsCI (const C_Str &str_r, const C_Str &val_r)
 Locate substring case insensitive.
String prefix/suffix handling.
bool hasPrefix (const C_Str &str_r, const C_Str &prefix_r)
 Return whether str_r has prefix prefix_r.
std::string stripPrefix (const C_Str &str_r, const C_Str &prefix_r)
 Strip a prefix_r from str_r and return the resulting string.
bool hasSuffix (const C_Str &str_r, const C_Str &suffix_r)
 Return whether str_r has suffix suffix_r.
std::string stripSuffix (const C_Str &str_r, const C_Str &suffix_r)
 Strip a suffix_r from str_r and return the resulting string.
bool startsWith (const C_Str &str_r, const C_Str &prefix_r)
 alias for hasPrefix
bool endsWith (const C_Str &str_r, const C_Str &prefix_r)
 alias for hasSuffix

Trimming whitepace.

Todo:
optimize l/r trim.


enum  Trim { NO_TRIM = 0x00, L_TRIM = 0x01, R_TRIM = 0x02, TRIM = (L_TRIM|R_TRIM) }
 To define how to trim. More...
std::string trim (const std::string &s, const Trim trim_r)
std::string ltrim (const std::string &s)
std::string rtrim (const std::string &s)


Detailed Description

String related utilities and Regular expressions.

See also:
Regular expressions


Typedef Documentation

Definition at line 42 of file Regex.h.


Enumeration Type Documentation

To define how to trim.

Enumerator:
NO_TRIM 
L_TRIM 
R_TRIM 
TRIM 

Definition at line 763 of file String.h.


Function Documentation

bool zypp::str::regex_match ( const char *  s,
str::smatch matches,
const regex regex 
)

bool zypp::str::regex_match ( const std::string &  s,
str::smatch &  matches,
const regex &  regex 
) [inline]

Definition at line 48 of file Regex.h.

References regex_match().

bool zypp::str::regex_match ( const char *  s,
const regex regex 
)

Definition at line 67 of file Regex.cc.

References zypp::str::regex::m_preg.

bool zypp::str::regex_match ( const std::string &  s,
const regex &  regex 
) [inline]

Definition at line 52 of file Regex.h.

References regex_match().

std::string zypp::str::form ( const char *  format,
  ... 
)

Printf style construction of std::string.

Definition at line 34 of file String.cc.

References zypp::str::SafeBuf::_buf, and zypp::str::SafeBuf::asString().

Referenced by zypp::RepoManager::addRepositories(), zypp::RepoManager::addRepository(), zypp::media::agentString(), zypp::media::MediaAria2c::agentString(), zypp::media::anonymousIdHeader(), zypp::sat::Solvable::asString(), zypp::PublicKey::Impl::asString(), zypp::exception_detail::CodeLocation::asString(), zypp::Errno::asString(), zypp::media::MediaCIFS::authenticate(), zypp::target::TargetImpl::buildCache(), zypp::RepoManager::buildCache(), zypp::CheckAccessDeleted::check(), zypp::ExternalProgram::checkStatus(), zypp::CheckSum::CheckSum(), zypp::filesystem::clean_dir(), zypp::RepoManager::cleanCacheDirGarbage(), zypp::parser::RepoindexFileReader::Impl::consumeNode(), zypp::Date::Date(), zypp::misc::defaultLoadSystem(), zypp::packagedelta::DeltaRpm::DeltaRpm(), zypp::media::distributionFlavorHeader(), zypp::target::CommitPackageCacheReadAhead::doCacheLastInteractive(), zypp::target::rpm::RpmDb::doInstallPackage(), zypp::target::rpm::RpmDb::doRebuildDatabase(), zypp::media::MediaNoLoopDeviceException::dumpOn(), zypp::media::MediaBadCAException::dumpOn(), zypp::media::MediaTemporaryProblemException::dumpOn(), zypp::media::MediaTimeoutException::dumpOn(), zypp::media::MediaForbiddenException::dumpOn(), zypp::media::MediaNotEjectedException::dumpOn(), zypp::media::MediaIsSharedException::dumpOn(), zypp::media::MediaNotDesiredException::dumpOn(), zypp::media::MediaAria2cSetOptException::dumpOn(), zypp::media::MediaAria2cException::dumpOn(), zypp::media::MediaMetalinkSetOptException::dumpOn(), zypp::media::MediaMetalinkException::dumpOn(), zypp::media::MediaCurlSetOptException::dumpOn(), zypp::media::MediaCurlException::dumpOn(), zypp::media::MediaUnsupportedUrlSchemeException::dumpOn(), zypp::media::MediaNotADirException::dumpOn(), zypp::media::MediaNotAFileException::dumpOn(), zypp::media::MediaSystemException::dumpOn(), zypp::media::MediaAria2cInitException::dumpOn(), zypp::media::MediaMetalinkInitException::dumpOn(), zypp::media::MediaCurlInitException::dumpOn(), zypp::media::MediaWriteException::dumpOn(), zypp::media::MediaFileNotFoundException::dumpOn(), zypp::media::MediaNotOpenException::dumpOn(), zypp::media::MediaBadFilenameException::dumpOn(), zypp::media::MediaUnmountException::dumpOn(), zypp::media::MediaMountException::dumpOn(), zypp::parser::susetags::ContentFileReader::errPrefix(), zypp::PublicKey::Impl::expiresAsString(), zypp::repo::PackageProvider::failOnChecksumError(), zypp::media::fillAriaCmdLine(), zypp::Product::flavor(), zypp::base::ProfilingFormater::format(), zypp::base::LogControl::LineFormater::format(), zypp::media::MediaAria2c::getFileCopy(), zypp::InstanceId::getIdFor(), zypp::RepoInfo::getLicense(), zypp::ZYppFactory::getZYpp(), zypp::solver::detail::HelixControl::HelixControl(), hexstring(), zypp::HistoryItem::HistoryItem(), zypp::HistoryItemInstall::HistoryItemInstall(), zypp::HistoryItemRemove::HistoryItemRemove(), zypp::HistoryItemRepoAdd::HistoryItemRepoAdd(), zypp::HistoryItemRepoAliasChange::HistoryItemRepoAliasChange(), zypp::HistoryItemRepoRemove::HistoryItemRepoRemove(), zypp::HistoryItemRepoUrlChange::HistoryItemRepoUrlChange(), zypp::RepoManager::Impl::init_knownServices(), zypp::base::InterProcessMutex::InterProcessMutex(), zypp::repo::PluginServices::Impl::loadServices(), zypp::pool::ByIdent::makeIdent(), zypp::RepoManager::modifyRepository(), numstring(), octstring(), zypp::sat::detail::operator<<(), zypp::operator<<(), zypp::parser::operator<<(), zypp::Arch::CompatEntry::operator<<(), zypp::parser::IniParser::parse(), zypp::parser::HistoryLogReader::Impl::parseLine(), zypp::RepoManager::probe(), zypp::RepoManager::probeService(), zypp::solver::detail::SATResolver::problems(), zypp::solver::detail::ProblemSolutionIgnore::ProblemSolutionIgnore(), zypp::repo::RepoMediaAccess::provideFile(), zypp::repo::PackageProvider::providePackage(), zypp::readPoolQueriesFromFile(), zypp::Product::referencePackage(), zypp::RepoManager::refreshMetadata(), zypp::RepoManager::refreshService(), zypp::RepoManager::removeRepository(), zypp::RepoManager::removeService(), zypp::ProgressData::report(), zypp::repositories_in_dir(), zypp::ResKind::satIdent(), zypp::RepoManager::Impl::saveService(), zypp::url::UrlBase::setHost(), zypp::Repository::setInfo(), zypp::url::UrlBase::setPort(), zypp::url::UrlBase::setScheme(), zypp::xml::ParseDef::Impl::skipNode(), zypp::Package::sourcePkgLongName(), zypp::ExternalProgram::start_program(), strerror(), zypp::debug::Tm::timeStr(), zypp::writePoolQueriesToFile(), and zypp::target::writeUpgradeTestcase().

std::string std::string zypp::str::strerror ( int  errno_r  ) 

bool zypp::str::strToTrue ( const C_Str &  str  ) 

Parsing boolean from string.

Return true if str is 1, true, yes, on (or a nonzero number).

Definition at line 61 of file String.cc.

References toLower().

Referenced by zypp::parser::RepoindexFileReader::Impl::consumeNode(), zypp::parser::ServiceFileReader::Impl::parseServices(), zypp::parser::repositories_in_stream(), strToBool(), and strToBoolNodefault().

bool zypp::str::strToFalse ( const C_Str &  str  ) 

Return false if str is 0, false, no, off.

Definition at line 78 of file String.cc.

References toLower().

Referenced by strToBool(), and strToBoolNodefault().

std::string zypp::str::hexencode ( const C_Str &  str_r  ) 

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

This includes the % character itself, which becomes 25.

Definition at line 113 of file String.cc.

References zypp::C_Str::c_str(), and zypp::C_Str::size().

std::string zypp::str::hexdecode ( const C_Str &  str_r  ) 

Decode hexencoded XX sequences.

Definition at line 134 of file String.cc.

References zypp::C_Str::c_str(), for_, and zypp::C_Str::size().

std::string zypp::str::toLower ( const std::string &  s  ) 

std::string zypp::str::toUpper ( const std::string &  s  ) 

std::string zypp::str::trim ( const std::string &  s,
const Trim  trim_r 
)

std::string zypp::str::stripFirstWord ( std::string &  line,
const bool  ltrim_first 
)

Definition at line 237 of file String.cc.

References ltrim().

Referenced by zypp::parser::susetags::ContentFileReader::parse(), and zypp::scanProductsFile().

std::string zypp::str::stripLastWord ( std::string &  line,
const bool  rtrim_first 
)

Definition at line 270 of file String.cc.

References rtrim().

string zypp::str::gsub ( const string &  sData,
const string &  sFrom,
const string &  sTo 
)

Definition at line 298 of file String.cc.

Referenced by zypp::repo::RepoVariablesStringReplacer::operator()().

string& zypp::str::replaceAll ( string &  str,
const string &  from,
const string &  to 
)

std::string zypp::str::escape ( const C_Str &  str_r,
const char  c = ' ' 
)

Escape desired character c using a backslash.

For use when printing c separated values, and where joinEscaped() is too heavy.

Todo:
use C_Str instead of std::string to prevent unnecessary promotion to string if used with "string".
Todo:
shoud not be documented in doxy-group 'Join'

Definition at line 340 of file String.cc.

References zypp::C_Str::c_str(), for_, and zypp::C_Str::size().

Referenced by zypp::HistoryLog::addRepository(), appendEscaped(), zypp::RepoInfo::dumpAsXMLOn(), zypp::HistoryLog::modifyRepository(), zypp::HistoryLog::removeRepository(), zypp::solver::detail::xml_escape(), and zypp::solver::detail::xml_tag_enclose().

std::string zypp::str::getline ( std::istream &  str,
const Trim  trim_r 
)

Return stream content up to (but not returning) the next newline.

See also:
receiveUpTo

Definition at line 362 of file String.cc.

References receiveUpTo(), and trim().

Referenced by zypp::scanProductsFile().

std::string zypp::str::getline ( std::istream &  str,
bool  trim = false 
)

Return stream content up to (but not returning) the next newline.

See also:
receiveUpTo

Definition at line 367 of file String.cc.

References NO_TRIM, receiveUpTo(), TRIM, and trim().

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.

Whether it is also returned in the string depends on returnDelim_r. If the stream status is good, delim_r was found in the stream. If we reached EOF while looking for delim_r, eof is set; and also fail, if we did not read any data before.

Definition at line 372 of file String.cc.

Referenced by getline(), and zypp::PluginFrame::Impl::Impl().

std::string zypp::str::asString ( const std::string &  t  )  [inline]

std::string zypp::str::asString ( const char *  t  )  [inline]

Definition at line 114 of file String.h.

template<class _T >
std::string zypp::str::asString ( const _T &  t  )  [inline]

Definition at line 118 of file String.h.

template<class _T >
std::string zypp::str::asString ( const intrusive_ptr< _T > &  p  )  [inline]

Definition at line 122 of file String.h.

template<class _T >
std::string zypp::str::asString ( const weak_ptr< _T > &  p  )  [inline]

Definition at line 126 of file String.h.

template<>
std::string zypp::str::asString ( const bool &  t  )  [inline]

Definition at line 130 of file String.h.

std::string zypp::str::numstring ( char  n,
int  w = 0 
) [inline]

std::string zypp::str::numstring ( unsigned char  n,
int  w = 0 
) [inline]

Definition at line 203 of file String.h.

References form().

std::string zypp::str::numstring ( short  n,
int  w = 0 
) [inline]

Definition at line 204 of file String.h.

References form().

std::string zypp::str::numstring ( unsigned short  n,
int  w = 0 
) [inline]

Definition at line 205 of file String.h.

References form().

std::string zypp::str::numstring ( int  n,
int  w = 0 
) [inline]

Definition at line 206 of file String.h.

References form().

std::string zypp::str::numstring ( unsigned  n,
int  w = 0 
) [inline]

Definition at line 207 of file String.h.

References form().

std::string zypp::str::numstring ( long  n,
int  w = 0 
) [inline]

Definition at line 208 of file String.h.

References form().

std::string zypp::str::numstring ( unsigned long  n,
int  w = 0 
) [inline]

Definition at line 209 of file String.h.

References form().

std::string zypp::str::numstring ( long long  n,
int  w = 0 
) [inline]

Definition at line 210 of file String.h.

References form().

std::string zypp::str::numstring ( unsigned long long  n,
int  w = 0 
) [inline]

Definition at line 211 of file String.h.

References form().

template<>
std::string zypp::str::asString ( const char &  t  )  [inline]

Definition at line 213 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const unsigned char &  t  )  [inline]

Definition at line 214 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const short &  t  )  [inline]

Definition at line 215 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const unsigned short &  t  )  [inline]

Definition at line 216 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const int &  t  )  [inline]

Definition at line 217 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const unsigned &  t  )  [inline]

Definition at line 218 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const long &  t  )  [inline]

Definition at line 219 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const unsigned long &  t  )  [inline]

Definition at line 220 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const long long &  t  )  [inline]

Definition at line 221 of file String.h.

References numstring().

template<>
std::string zypp::str::asString ( const unsigned long long &  t  )  [inline]

Definition at line 222 of file String.h.

References numstring().

std::string zypp::str::hexstring ( char  n,
int  w = 4 
) [inline]

std::string zypp::str::hexstring ( unsigned char  n,
int  w = 4 
) [inline]

Definition at line 238 of file String.h.

References form().

std::string zypp::str::hexstring ( short  n,
int  w = 10 
) [inline]

Definition at line 239 of file String.h.

References form().

std::string zypp::str::hexstring ( unsigned short  n,
int  w = 10 
) [inline]

Definition at line 240 of file String.h.

References form().

std::string zypp::str::hexstring ( int  n,
int  w = 10 
) [inline]

Definition at line 241 of file String.h.

References form().

std::string zypp::str::hexstring ( unsigned  n,
int  w = 10 
) [inline]

Definition at line 242 of file String.h.

References form().

std::string zypp::str::hexstring ( long  n,
int  w = 10 
) [inline]

Definition at line 243 of file String.h.

References form().

std::string zypp::str::hexstring ( unsigned long  n,
int  w = 10 
) [inline]

Definition at line 244 of file String.h.

References form().

std::string zypp::str::hexstring ( long long  n,
int  w = 0 
) [inline]

Definition at line 245 of file String.h.

References form().

std::string zypp::str::hexstring ( unsigned long long  n,
int  w = 0 
) [inline]

Definition at line 246 of file String.h.

References form().

std::string zypp::str::octstring ( char  n,
int  w = 4 
) [inline]

std::string zypp::str::octstring ( unsigned char  n,
int  w = 4 
) [inline]

Definition at line 262 of file String.h.

References form().

std::string zypp::str::octstring ( short  n,
int  w = 5 
) [inline]

Definition at line 263 of file String.h.

References form().

std::string zypp::str::octstring ( unsigned short  n,
int  w = 5 
) [inline]

Definition at line 264 of file String.h.

References form().

std::string zypp::str::octstring ( int  n,
int  w = 5 
) [inline]

Definition at line 265 of file String.h.

References form().

std::string zypp::str::octstring ( unsigned  n,
int  w = 5 
) [inline]

Definition at line 266 of file String.h.

References form().

std::string zypp::str::octstring ( long  n,
int  w = 5 
) [inline]

Definition at line 267 of file String.h.

References form().

std::string zypp::str::octstring ( unsigned long  n,
int  w = 5 
) [inline]

Definition at line 268 of file String.h.

References form().

std::string zypp::str::octstring ( long long  n,
int  w = 0 
) [inline]

Definition at line 269 of file String.h.

References form().

std::string zypp::str::octstring ( unsigned long long  n,
int  w = 0 
) [inline]

Definition at line 270 of file String.h.

References form().

template<typename _It >
unsigned long long zypp::str::strtonum ( const C_Str &  str  )  [inline]

Parsing numbers from string.

String to integer type determined by template arg.

Note:
Only specializations are defined.
 time_t t = strtonum<time_t>( "42" );

Definition at line 287 of file String.h.

Referenced by zypp::Date::Date(), and zypp::ZConfig::Impl::Impl().

template<typename _It >
_It zypp::str::strtonum ( const C_Str &  str,
_It &  i 
) [inline]

String to integer type detemined 2nd function arg i.

 time_t t; strtonum( "42", t );

Definition at line 310 of file String.h.

bool zypp::str::strToBool ( const C_Str &  str,
bool  default_r 
) [inline]

Parse str into a bool depending on the default value.

If the default is true, look for a legal false string. If the default is false, look for a legal true string.

Definition at line 328 of file String.h.

References strToFalse(), and strToTrue().

Referenced by zypp::ZConfig::Impl::Impl(), and zypp::media::MediaCurl::setupEasy().

bool zypp::str::strToBoolNodefault ( const C_Str &  str,
bool &  return_r 
) [inline]

Parse str into a bool if it's a legal true or false string.

If str is not a recognized true or false string, return_r is left unchanged.

Definition at line 335 of file String.h.

References strToFalse(), and strToTrue().

std::string zypp::str::gsub ( const std::string &  sData,
const std::string &  sFrom,
const std::string &  sTo 
)

Looks for text in a string and replaces it.

Note:
It only perform substtution in one pass

std::string& zypp::str::replaceAll ( std::string &  str,
const std::string &  from,
const std::string &  to 
)

Looks for text in string and replaces it in place.

Note:
It only perform substtution in one pass

use only if you replace same lenght strings, otherwise use gsub

template<class _OutputIterator >
unsigned zypp::str::split ( const C_Str &  line_r,
_OutputIterator  result_r,
const C_Str &  sepchars_r = " \t" 
) [inline]

template<class _OutputIterator >
unsigned zypp::str::splitEscaped ( const C_Str &  line_r,
_OutputIterator  result_r,
const C_Str &  sepchars_r = " \t",
bool  withEmpty = false 
) [inline]

Split line_r into words with respect to escape delimeters.

Any sequence of characters in sepchars_r is treated as delimiter if not inside "" or "" or escaped by \, but not \. The words are passed to OutputIterator result_r.

See also:
splitEscaped
 std::vector<std::string> words;
 str::splitEscaped( "some line", std::back_inserter(words) )

 example splitted strings
 normal line -> 2 elements ( "normal", "line" )
 escaped\ line -> 1 element( "escaped line" )
 "quoted line" -> 1 element same as above
 'quoted line' -> 1 element same as above
 "escaped quote\'" -> 1 element ( "escaped quote'" )

 \param line_r   The string to parse.
 \param result_r
 \param sepchars_r  String of separator characters.
 \param withEmpty   Whether to include empty fields between separators in the result.

Definition at line 425 of file String.h.

References replaceAll().

Referenced by zypp::parser::HistoryLogReader::Impl::parseLine(), zypp::parser::ServiceFileReader::Impl::parseServices(), and splitFieldsEscaped().

template<class _OutputIterator >
unsigned zypp::str::splitFields ( const C_Str &  line_r,
_OutputIterator  result_r,
const C_Str &  sepchars_r = ":" 
) [inline]

Split line_r into fields.

Any single character in sepchars_r is treated as a field separator. The words are passed to OutputIterator result_r.

 ""        -> words 0
 ":"       -> words 2  |||
 "a"       -> words 1  |a|
 ":a"      -> words 2  ||a|
 "a:"      -> words 2  |a||
 ":a:"     -> words 3  ||a||

 std::vector<std::string> words;
 str::split( "some line", std::back_inserter(words) )

Definition at line 562 of file String.h.

Referenced by zypp::PublicKey::Impl::readFromFile().

template<class _OutputIterator >
unsigned zypp::str::splitFieldsEscaped ( const C_Str &  line_r,
_OutputIterator  result_r,
const C_Str &  sepchars_r = ":" 
) [inline]

Split line_r into fields handling also escaped separators.

See also:
splitFields()

splitEscaped()

Definition at line 599 of file String.h.

References splitEscaped().

template<class _Iterator >
std::string zypp::str::join ( _Iterator  begin,
_Iterator  end,
const C_Str &  sep_r = " " 
) [inline]

Join strings using separator sep_r (defaults to BLANK).

Definition at line 614 of file String.h.

References asString().

Referenced by zypp::Arch::asString(), zypp::media::MediaNFS::attachTo(), zypp::media::CurlAuthData::auth_type_long2str(), and join().

template<class _Container >
std::string zypp::str::join ( const _Container &  cont_r,
const C_Str &  sep_r = " " 
) [inline]

Join strings using separator sep_r (defaults to BLANK).

Definition at line 629 of file String.h.

References join().

template<class _Iterator >
std::string zypp::str::joinEscaped ( _Iterator  begin,
_Iterator  end,
const char  sep_r = ' ' 
) [inline]

Join strings using separator sep_r, quoting or escaping the values.

Separator defaults to BLANK. Use splitEscaped to restore the values.

Definition at line 638 of file String.h.

References asString(), and for_.

Referenced by zypp::ServiceInfo::dumpAsIniOn().

void zypp::str::appendEscaped ( std::string &  str_r,
const C_Str &  next_r,
const char  sep_r = ' ' 
) [inline]

Escape next_r and append it to str_r using separator sep_r.

Definition at line 692 of file String.h.

References zypp::C_Str::empty(), and escape().

std::string zypp::str::toLower ( const char *  s  )  [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 728 of file String.h.

References toLower().

std::string zypp::str::toUpper ( const char *  s  )  [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 736 of file String.h.

References toUpper().

int zypp::str::compareCI ( const C_Str &  lhs,
const C_Str &  rhs 
) [inline]

Definition at line 743 of file String.h.

Referenced by zypp::Patch::categoryEnum(), and zypp::ZConfig::Impl::Impl().

bool zypp::str::contains ( const C_Str &  str_r,
const C_Str &  val_r 
) [inline]

Locate substring case sensitive.

Definition at line 750 of file String.h.

bool zypp::str::containsCI ( const C_Str &  str_r,
const C_Str &  val_r 
) [inline]

Locate substring case insensitive.

Definition at line 753 of file String.h.

std::string zypp::str::ltrim ( const std::string &  s  )  [inline]

Definition at line 772 of file String.h.

References L_TRIM, and trim().

Referenced by zypp::parser::IniParser::parse(), and stripFirstWord().

std::string zypp::str::rtrim ( const std::string &  s  )  [inline]

bool zypp::str::hasPrefix ( const C_Str &  str_r,
const C_Str &  prefix_r 
) [inline]

std::string zypp::str::stripPrefix ( const C_Str &  str_r,
const C_Str &  prefix_r 
) [inline]

Strip a prefix_r from str_r and return the resulting string.

Definition at line 812 of file String.h.

References zypp::C_Str::c_str(), hasPrefix(), and zypp::C_Str::size().

Referenced by zypp::repo::susetags::Downloader::download(), and zypp::Product::flavor().

bool zypp::str::hasSuffix ( const C_Str &  str_r,
const C_Str &  suffix_r 
) [inline]

Return whether str_r has suffix suffix_r.

Definition at line 816 of file String.h.

References zypp::C_Str::size().

Referenced by endsWith(), zypp::RepoInfo::getLicenseLocales(), zypp::InstanceId::isSystemId(), stripSuffix(), and zypp::media::ProxyInfo::Impl::useProxyFor().

std::string zypp::str::stripSuffix ( const C_Str &  str_r,
const C_Str &  suffix_r 
) [inline]

Strip a suffix_r from str_r and return the resulting string.

Definition at line 820 of file String.h.

References zypp::C_Str::c_str(), hasSuffix(), and zypp::C_Str::size().

bool zypp::str::startsWith ( const C_Str &  str_r,
const C_Str &  prefix_r 
) [inline]

alias for hasPrefix

Definition at line 828 of file String.h.

References hasPrefix().

Referenced by zypp::target::writeUpgradeTestcase().

bool zypp::str::endsWith ( const C_Str &  str_r,
const C_Str &  prefix_r 
) [inline]

alias for hasSuffix

Definition at line 831 of file String.h.

References hasSuffix().

Referenced by zypp::repo::susetags::Downloader::download().


doxygen