# IpeLex Class Reference
[Ipe Base]

Lexical analyser. Seeded with a string. More...

List of all members.

## Public Member Functions

- IpeLex (IpeString str)
- IpeString Token ()
- IpeString NextToken ()
- int GetInt ()
- int GetHexByte ()
- IpeFixed GetFixed ()
- unsigned long int GetHexNumber ()
- double GetDouble ()
- char GetChar ()
- void SkipWhitespace ()
- IpeLex & operator>> (int &i)
- IpeLex & operator>> (double &d)
- void Mark ()
- void FromMark ()
- bool Eos () const

## Detailed Description

Lexical analyser. Seeded with a string.

## Constructor & Destructor Documentation

IpeLex::IpeLex | ( | IpeString | str | ) | `[explicit]`

Construct lexical analyzer from a string.

## Member Function Documentation

IpeString IpeLex::Token | ( |  | ) |

Return NextToken, but without extracting it.

IpeString IpeLex::NextToken | ( |  | ) |

Extract next token.

Skips any whitespace before the token. Returns empty string if end of string is reached.

int IpeLex::GetInt | ( |  | ) |

Extract integer token (skipping whitespace).

int IpeLex::GetHexByte | ( |  | ) |

Extract byte in hex (skipping whitespace).

IpeFixed IpeLex::GetFixed | ( |  | ) |

Extract IpeFixed token (skipping whitespace).

unsigned long int IpeLex::GetHexNumber | ( |  | ) |

Extract hexadecimal token (skipping whitespace).

double IpeLex::GetDouble | ( |  | ) |

Extract double token (skipping whitespace).

char IpeLex::GetChar | ( |  | ) | `[inline]`

Extract next character (not skipping anything).

void IpeLex::SkipWhitespace | ( |  | ) |

Skip over whitespace.

IpeLex& IpeLex::operator>> | ( | int & | i | ) | `[inline]`

Operator syntax for GetInt().

IpeLex& IpeLex::operator>> | ( | double & | d | ) | `[inline]`

Operator syntax for GetDouble().

void IpeLex::Mark | ( |  | ) | `[inline]`

Mark the current position.

void IpeLex::FromMark | ( |  | ) | `[inline]`

Reset reader to the marked position.

bool IpeLex::Eos | ( |  | ) | const`[inline]`

Return true if at end of string (not even whitespace left).

The documentation for this class was generated from the following files:

- ipebase.h
- ipebase.cpp