Program Listing for File Token.cc¶
↰ Return to documentation for file (Token.cc)
/*--------------------------------------------------------------------------*\
| |
| Copyright (C) 2017 |
| |
| , __ , __ |
| /|/ \ /|/ \ |
| | __/ _ ,_ | __/ _ ,_ |
| | \|/ / | | | | \|/ / | | | |
| |(__/|__/ |_/ \_/|/|(__/|__/ |_/ \_/|/ |
| /| /| |
| \| \| |
| |
| Enrico Bertolazzi |
| Dipartimento di Ingegneria Industriale |
| Universita` degli Studi di Trento |
| email: enrico.bertolazzi@unitn.it |
| |
\*--------------------------------------------------------------------------*/
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#include "Utils.hh"
namespace Utils {
bool
Tokenizer::next_token() {
size_t i = m_string.find_first_not_of( m_delimiters, m_offset );
m_offset = m_string.length();
if ( string::npos == i ) return false;
size_t j = m_string.find_first_of( m_delimiters, i );
if ( string::npos == j ) {
m_token = m_string.substr(i);
return true;
}
m_token = m_string.substr(i, j - i);
m_offset = j;
return true;
}
void
split_string(
string const & str,
string const & sep,
vector<string> & arr
) {
Tokenizer tk( str, sep );
while ( tk.next_token() ) arr.push_back(tk.get_token());
}
}
#endif