wibble  1.1
Classes | Namespaces | Constant Groups | Functions
string.h File Reference
#include <wibble/operators.h>
#include <wibble/sfinae.h>
#include <cstdarg>
#include <cstdio>
#include <string>
#include <set>
#include <vector>
#include <deque>
#include <sstream>
#include <cctype>
Include dependency graph for string.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  wibble::str::Split
 Split a string where a given substring is found. More...
 
class  wibble::str::Split::const_iterator
 
class  wibble::str::YamlStream
 Parse a record of Yaml-style field: value couples. More...
 
class  wibble::str::YamlStream::const_iterator
 

Namespaces

 wibble
 
 wibble::str
 

Constant Groups

 wibble
 
 wibble::str
 

Functions

std::string wibble::str::fmtf (const char *f,...)
 
template<typename T >
std::string wibble::str::fmt (const T &val)
 Format any value into a string using a std::stringstream. More...
 
template<typename X >
TPair< std::ostream, typename
X::Type >::First & 
wibble::str::operator<< (std::ostream &o, X list)
 
template<>
std::string wibble::str::fmt< std::string > (const std::string &val)
 
template<>
std::string wibble::str::fmt< char * > (char *const &val)
 
template<typename C >
std::string wibble::str::fmt_container (const C &c, char f, char l)
 
template<typename X >
std::string wibble::str::fmt (const std::set< X > &val)
 
template<typename X >
std::string wibble::str::fmt (const std::vector< X > &val)
 
template<typename X >
std::string wibble::str::fmt (const std::deque< X > &val)
 
std::string wibble::str::basename (const std::string &pathname)
 Given a pathname, return the file name without its path. More...
 
std::string wibble::str::dirname (const std::string &pathname)
 Given a pathname, return the directory name without the file name. More...
 
std::string wibble::str::normpath (const std::string &pathname)
 Normalise a pathname. More...
 
bool wibble::str::startsWith (const std::string &str, const std::string &part)
 Check if a string starts with the given substring. More...
 
bool wibble::str::endsWith (const std::string &str, const std::string &part)
 Check if a string ends with the given substring. More...
 
std::string wibble::str::replace (const std::string &str, char from, char to)
 
template<typename FUN >
std::string wibble::str::trim (const std::string &str, const FUN &classifier)
 Return the substring of 'str' without all leading and trailing characters for which 'classifier' returns true. More...
 
std::string wibble::str::trim (const std::string &str)
 Return the substring of 'str' without all leading and trailing spaces. More...
 
std::string wibble::str::toupper (const std::string &str)
 Convert a string to uppercase. More...
 
std::string wibble::str::tolower (const std::string &str)
 Convert a string to lowercase. More...
 
std::string wibble::str::ucfirst (const std::string &str)
 Return the same string, with the first character uppercased. More...
 
std::string wibble::str::joinpath (const std::string &path1, const std::string &path2)
 Join two paths, adding slashes when appropriate. More...
 
std::string wibble::str::appendpath (const std::string &path1, const std::string &path2)
 
std::string wibble::str::urlencode (const std::string &str)
 Urlencode a string. More...
 
std::string wibble::str::urldecode (const std::string &str)
 Decode an urlencoded string. More...
 
std::string wibble::str::encodeBase64 (const std::string &str)
 Encode a string in Base64. More...
 
std::string wibble::str::decodeBase64 (const std::string &str)
 Decode a string encoded in Base64. More...
 
template<typename ITER >
std::string wibble::str::join (const ITER &begin, const ITER &end, const std::string &sep=", ")
 
std::string wibble::str::c_escape (const std::string &str)
 Escape the string so it can safely used as a C string inside double quotes. More...
 
std::string wibble::str::c_unescape (const std::string &str, size_t &lenParsed)
 Unescape a C string, stopping at the first double quotes or at the end of the string. More...