libshevek
|
shevek::ristring is identical to shevek::istring, but it uses std::string instead of Glib::ustring. More...
#include <iostring.hh>
Public Member Functions | |
ristring () | |
Create a new istring with no data. | |
ristring (std::string const &str) | |
Create a new istring with data. | |
void | init (std::string const &str) |
Set new data to an existing istring. | |
void | push () |
Push the current position to the stack so it can be restored later. | |
int | pop (bool keep=false) |
Pop the last pushed position from the stack. | |
void | reset () |
Set the current position to 0, but don't change the stack. | |
std::string | rest () const |
Get remaining string. | |
void | skip (std::string::size_type p) |
Skip some characters. | |
bool | operator() (std::string const &format) |
Read a constant string from the input. | |
template<typename T1 > | |
bool | operator() (std::string const &format, T1 &arg1) |
Read a string containing one argument from the input. | |
template<typename T1 , typename T2 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2) |
Read a string containing two arguments from the input. | |
template<typename T1 , typename T2 , typename T3 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3) |
Read a string containing three arguments from the input. | |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3, T4 &arg4) |
Read a string containing four arguments from the input. | |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3, T4 &arg4, T5 &arg5) |
Read a string containing five arguments from the input. | |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3, T4 &arg4, T5 &arg5, T6 &arg6) |
Read a string containing six arguments from the input. | |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3, T4 &arg4, T5 &arg5, T6 &arg6, T7 &arg7) |
Read a string containing seven arguments from the input. | |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > | |
bool | operator() (std::string const &format, T1 &arg1, T2 &arg2, T3 &arg3, T4 &arg4, T5 &arg5, T6 &arg6, T7 &arg7, T8 &arg8) |
Read a string containing eight arguments from the input. |
Static Public Member Functions | |
template<typename T > | |
static T | direct (std::string const &data, std::string const &format, T def=T()) |
Read a variable from given data and return it. |
shevek::ristring is identical to shevek::istring, but it uses std::string instead of Glib::ustring.
|
inlinestatic |
Read a variable from given data and return it.
This allows using a shevek::istring in an expression without the need to create a new variable for it. If the input doesn't match the format, def is returned.
int shevek::ristring::pop | ( | bool | keep = false | ) |
Pop the last pushed position from the stack.
If keep is true or not given, the current position is restored to the last position. If it is false, the current position is not changed.