Cytosim PI Cytoskeleton Simulator

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Functions
Tokenizer Namespace Reference

elementary tokenizer More...

## Functions
char | block_delimiter (char entry_char)
| return the corresponding closing delimiter character, or 0 if `entry_char` is not a known delimiter
char | eat_space (std::istream &is, bool eat_line)
| skip space and new-line if `eat_line`==true, return the next character on the stream
char | get_character (std::istream &is, bool eat_line=false, bool eat_space=true)
| skip all character for which isspace() is true, and new-line if `eat_line`==true
std::string | get_symbol (std::istream &is, bool(*valid)(char))
| accumulate characters as long as valid() remains true
std::string | get_identifier (std::istream &is, bool eat_line=false)
| return next token that looks like a variable name More...
std::string | get_token (std::istream &is, bool eat_line=false)
| return next token More...
std::string | get_line (std::istream &is)
| accumulate characters until new-line is found
std::string | get_block (std::istream &is, char c_in, char c_out)
| read next block delimited by `c_in` and the corresponding closing delimiter More...
std::string | get_block_stripped (std::istream &is, char c_in)
| skip spaces and read a block delimited by `c_in`, or return empty string if `c_in` is not found More...
std::string | strip_block (std::string const &blok)
| remove enclosing parenthesis at the start and at the end of `blok`
std::string | get_until (std::istream &is, std::string what)
| read until `what` is found and stop immediately before (`what` is excluded from the returned string)
void | trim (std::string &str, const std::string &ws=" ")
| remove characters present in `ws` from the beggining and at the end of `str`
bool | get_integer (std::istream &, int &)
| read an integer More...
bool | get_integer (std::istream &, unsigned &)
| read an unsigned integer More...
bool | split_integer (std::string &str, unsigned &)
| try to interpret `str` as `UINT sub`. If successful, `str` is modified to be `sub` More...

## Detailed Description

A Tokenizer is used cut a character stream into words

## Function Documentation

std::string get_block | ( | std::istream & | is,
|  | char | c,
|  | char | c_out
| ) |  |

This will read a block, assuming that character c_in has been read already. It will read characters until the corresponding closing delimiter is found.

std::string get_block_stripped | ( | std::istream & | is,
|  | char | c_in
| ) |  |

This will skip spaces and new-lines until a character is found. If this character is equal to c_in, then the block is read and returned. Otherwise returns empty string "".

The delimiter parenthesis around the block are not included in the returned string!

std::string get_identifier | ( | std::istream & | is,
|  | bool | eat_line = `false`
| ) |  |

get_identifier() reads words:

- starting with a alpha-character,
- followed by alphanum characters

bool get_integer | ( | std::istream & | is,
|  | int & | what
| ) |  |

read an integer, or return false if that is not possible. The value of T will not change, if the input fails.

bool get_integer | ( | std::istream & | is,
|  | unsigned & | what
| ) |  |

read an integer, or return false if that is not possible. The value of T will not change, if the input fails.

std::string get_token | ( | std::istream & | is,
|  | bool | eat_line = `false`
| ) |  |

get_token() reads a block enclosed by '{}', '()' and '""', and returns it verbatim with the delimiting characters.

bool split_integer | ( | std::string & | str,
|  | unsigned & | what
| ) |  |

split the string into an integer and the remaining string. The space after the integer is discarded.

Returns
  success == true