12 #ifndef _H_SST_CORE_STRINGIZE    13 #define _H_SST_CORE_STRINGIZE    22 inline std::string to_string(
double val) {
    24     sprintf(buffer, 
"%f", val);
    26     std::string buffer_str(buffer);
    30 inline std::string to_string(
float val) {
    32     sprintf(buffer, 
"%f", val);
    34     std::string buffer_str(buffer);
    38 inline std::string to_string(int32_t val) {
    40     sprintf(buffer, 
"%" PRId32, val);
    42     std::string buffer_str(buffer);
    46 inline std::string to_string(int64_t val) {
    48     sprintf(buffer, 
"%" PRId64, val);
    50     std::string buffer_str(buffer);
    54 inline std::string to_string(uint32_t val) {
    56     sprintf(buffer, 
"%" PRIu32, val);
    58     std::string buffer_str(buffer);
    62 inline std::string to_string(uint64_t val) {
    64     sprintf(buffer, 
"%" PRIu64, val);
    66     std::string buffer_str(buffer);
    71 inline bool strcasecmp(
const std::string &s1, 
const std::string &s2) {
    72     return !::strcasecmp(s1.c_str(), s2.c_str());
    75 inline void to_lower(std::string &s) {
    76     for ( 
size_t i = 0 ; i < s.size() ; i++ ) {
    77         s[i] = std::tolower(s[i]);
    82 inline void trim(std::string &s) {
    83     auto start = s.find_first_not_of(
" \t\n\r\v\f");
    85         s.replace(s.begin(), s.begin() + (start), 
"");
    87     auto end = s.find_last_not_of(
" \t\n\r\v\f");
    88     if ( end != s.size() -1 ) {
    89         s.replace(s.begin() + end + 1, s.end(), 
"");
    96     typedef std::string::const_iterator iter;
    97     const std::string delim;
   104     void operator()(iter &first, iter last, std::string &token) {
   108         while ( first != last && delim.find(*first) != std::string::npos )
   111         while ( first != last && delim.find(*first) == std::string::npos )
   120     typedef std::string::const_iterator iter;
   125     escaped_list_separator(
const std::string &esc=
"\\", 
const std::string &sep=
",", 
const std::string "e=
"\"")
   126         : e(esc), q(quote), s(sep) { }
   132     void operator()(iter &first, iter last, std::string &token) {
   135         bool inside_quotes = 
false;
   136         bool in_escape = 
false;
   137         while ( first != last ) {
   143             } 
else if ( s.find(c) != std::string::npos && !inside_quotes ) {
   146             } 
else if ( q.find(c) != std::string::npos ) {
   147                 inside_quotes = !inside_quotes;
   148             } 
else if ( e.find(c) != std::string::npos ) {
   160 template< 
typename TokenizerFunc = 
char_delimiter >
   163     template <
typename Func>
   165         : 
public std::iterator< std::input_iterator_tag, std::string >
   168         std::string::const_iterator first;
   169         std::string::const_iterator last;
   172         explicit token_iter(Func& f_, std::string::const_iterator& first_, std::string::const_iterator& last_)
   173             : f(f_), first(first_), last(last_)
   175             f(first, last, token);
   177         token_iter& operator++() { f(first, last, token); 
return *
this; }
   178         token_iter  operator++(
int) {token_iter retval = *
this; ++(*this); 
return retval;}
   179         bool operator==(token_iter other)
 const { 
return (first == other.first) && (last == other.last) && (token == other.token); }
   180         bool operator!=(token_iter other)
 const { 
return !(*
this == other); }
   181         const std::string& operator*()
 const { 
return token; }
   182         const std::string& operator->()
 const { 
return token; }
   187     typedef token_iter<TokenizerFunc> iter;
   189     typedef iter iterator;
   190     typedef iter const_iterator;
   191     typedef std::string value_type;
   193     iter begin() { 
return iter(f, first, last); }
   194     iter end() { 
return iter(f, last, last); }
   196     Tokenizer(
const std::string &s, 
const TokenizerFunc& f = TokenizerFunc())
   197         : first(s.begin()), last(s.end()), f(f) { }
   200     std::string::const_iterator first, last;
 Definition: stringize.h:119
 
void operator()(iter &first, iter last, std::string &token)
Definition: stringize.h:132
 
Definition: stringize.h:161
 
Definition: stringize.h:95
 
void operator()(iter &first, iter last, std::string &token)
Definition: stringize.h:104