string_manip.h File Reference

#include <string>
#include <vector>
#include <sstream>
#include <stdexcept>
Include dependency graph for string_manip.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

std::string erase_to_last_of (std::string const &str, char ch)
std::string split (std::string &s, char c)
bool is_prefix (std::string const &s, std::string const &prefix)
std::vector< std::string > separate_token (std::string const &str, char sep)
std::string ltrim (std::string const &str, std::string const &totrim="\t ")
 remove trim chars from start of input string return the new string
std::string rtrim (std::string const &str, std::string const &totrim="\t ")
 remove trim chars from end of input string return the new string
std::string trim (std::string const &str, std::string const &totrim="\t ")
 ltrim(rtrim(str))
std::string const format_percent (double value, size_t int_width, size_t frac_width, bool showpos=false)
template<typename To , typename From >
To op_lexical_cast (From const &src)
template<>
unsigned int op_lexical_cast< unsigned int > (std::string const &str)

Variables

static unsigned int const percent_int_width = 2
 prefered width to format percentage
static unsigned int const percent_fract_width = 4
static unsigned int const percent_width = percent_int_width + percent_fract_width + 1

Detailed Description

std::string helpers

Remarks:
Copyright 2002 OProfile authors
Read the file COPYING
Author:
Philippe Elie
John Levon

Definition in file string_manip.h.


Function Documentation

std::string erase_to_last_of ( std::string const &  str,
char  ch 
)
Parameters:
str string
ch the characterto search

erase char from the begin of str to the last occurence of ch from and return the string

std::string const format_percent ( double  value,
size_t  int_width,
size_t  frac_width,
bool  showpos = false 
)

format_percent - smart format of double percentage value

Parameters:
value - the value
int_width - the maximum integer integer width default to 2
frac_width - the fractionnary width default to 4
showpos - show + sign for positive values

This formats a percentage into exactly the given width and returns it. If the integer part is larger than the given int_width, the returned string will be wider. The returned string is never shorter than (fract_with + int_width + 1)

Definition at line 107 of file string_manip.cpp.

References is_prefix().

Referenced by format_percent_tests().

Here is the call graph for this function:

Here is the caller graph for this function:

bool is_prefix ( std::string const &  s,
std::string const &  prefix 
)

return true if "prefix" is a prefix of "s", behavior is undefined if prefix is an empty string

std::string ltrim ( std::string const &  str,
std::string const &  totrim = "\t " 
)

remove trim chars from start of input string return the new string

template<typename To , typename From >
To op_lexical_cast ( From const &  src  )  [inline]
Parameters:
src input parameter convert From src to a T through an istringstream.

Throws invalid_argument if conversion fail.

Note that this is not as foolproof as boost's lexical_cast

Definition at line 87 of file string_manip.h.

Referenced by oprof_start::read_set_events(), oprof_start::save_config(), generic_spec< T >::set(), tobool_tests(), tostr_tests(), and touint_tests().

Here is the caller graph for this function:

template<>
unsigned int op_lexical_cast< unsigned int > ( std::string const &  str  )  [inline]
std::string rtrim ( std::string const &  str,
std::string const &  totrim = "\t " 
)

remove trim chars from end of input string return the new string

std::vector<std::string> separate_token ( std::string const &  str,
char  sep 
)
Parameters:
str the string to tokenize
sep the separator_char

separate fields in a string in a list of token; field are separated by the sep character, sep char can be escaped by '\' to specify a sep char in a token, '\' not followed by a sep is taken as it e.g. "\,\a" --> ",\a"

std::string split ( std::string &  s,
char  c 
)

split string s by first occurence of char c, returning the second part. s is set to the first part. Neither include the split character

std::string trim ( std::string const &  str,
std::string const &  totrim = "\t " 
)

ltrim(rtrim(str))


Variable Documentation

unsigned int const percent_fract_width = 4 [static]

Definition at line 74 of file string_manip.h.

Referenced by format_output::formatter::format_diff(), and format_percent_tests().

unsigned int const percent_int_width = 2 [static]

prefered width to format percentage

Definition at line 73 of file string_manip.h.

Referenced by format_output::formatter::format_diff(), and format_percent_tests().

unsigned int const percent_width = percent_int_width + percent_fract_width + 1 [static]

Definition at line 75 of file string_manip.h.


Generated on 8 Nov 2012 for Oprofile by  doxygen 1.6.1