Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki i inne rzeczy. More...
#include <Stream.hpp>
Public Member Functions | |
| CharReader (Stream *a_Stream) | |
| bool | End () |
| Czy jesteśmy na końcu danych? | |
| bool | ReadChar (char *Out) |
| Jeśli można odczytać następny znak, wczytuje go i zwraca true. | |
| char | MustReadChar () |
| Jeśli można odczytać następny znak, wczytuje go. | |
| bool | PeekChar (char *Out) |
| Jeśli można odczytać następny znak, podgląda go zwracając przez Out i zwraca true. Nie przesuwa "kursora". | |
| char | MustPeekChar () |
| Jeśli można odczytać następny znak, podgląda go zwracając. Nie przesuwa "kursora". | |
| size_t | ReadString (string *Out, size_t MaxLength) |
| Wczytuje co najwyżej MaxLength znaków do podanego stringa. | |
| void | MustReadString (string *Out, size_t Length) |
| Wczytuje Length znaków do podanego stringa. | |
| size_t | ReadString (char *Out, size_t MaxLength) |
| Wczytuje co najwyżej MaxLength znaków pod podany wskaźnik. | |
| void | MustReadString (char *Out, size_t Length) |
| Wczytuje Length znaków pod podany wskaźnik. | |
| size_t | ReadData (void *Out, size_t MaxLength) |
| Wczytuje co najwyżej MaxLength bajtów pod podany wskaźnik. | |
| void | MustReadData (void *Out, size_t Length) |
| Wczytuje Length bajtów pod podany wskaźnik. | |
| bool | SkipChar () |
| Jeśli jest następny znak do odczytania, pomija go i zwraca true. | |
| void | MustSkipChar () |
| Jeśli jest następny znak do odczytania, pomija go. | |
| size_t | Skip (size_t MaxLength) |
| Pomija co najwyżej MaxLength znaków. | |
| void | MustSkip (size_t Length) |
| Pomija Length znaków. | |
| bool | ReadLine (string *Out) |
| Wczytuje linijkę tekstu i jeśli się udało, zwraca true. | |
| void | MustReadLine (string *Out) |
| Wczytuje linijkę tekstu. | |
Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki i inne rzeczy.
| common::CharReader::CharReader | ( | Stream * | a_Stream | ) | [inline] |
| bool common::CharReader::End | ( | ) | [inline] |
Czy jesteśmy na końcu danych?
| char common::CharReader::MustPeekChar | ( | ) | [inline] |
Jeśli można odczytać następny znak, podgląda go zwracając. Nie przesuwa "kursora".
Jeśli nie, rzuca wyjątek.
| char common::CharReader::MustReadChar | ( | ) | [inline] |
Jeśli można odczytać następny znak, wczytuje go.
Jeśli nie, rzuca wyjątek.
| void common::CharReader::MustReadData | ( | void * | Out, | |
| size_t | Length | |||
| ) |
Wczytuje Length bajtów pod podany wskaźnik.
Jeśli nie uda się odczytać wszystkich Length bajtów, rzuca wyjątek.
| [out] | Out | musi być tablicą zaalokowaną do długości co najmniej Length bajtów. |
| void common::CharReader::MustReadLine | ( | string * | Out | ) |
Wczytuje linijkę tekstu.
Jeśli nie udało się wczytać ani jednego znaku, bo to już koniec strumienia, rzuca wyjątek. Czyta znaki do napotkania końca strumienia lub końca wiersza, którym są "\r", "\n" i "\r\n". Koniec wiersza przeskakuje, ale nie dołącza go do Out.
| void common::CharReader::MustReadString | ( | char * | Out, | |
| size_t | Length | |||
| ) |
Wczytuje Length znaków pod podany wskaźnik.
Jeśli nie uda się odczytać wszystkich Length znaków, rzuca wyjątek.
| [out] | Out | musi być tablicą zaalokowaną do długości co najmniej Length. |
| void common::CharReader::MustReadString | ( | string * | Out, | |
| size_t | Length | |||
| ) |
Wczytuje Length znaków do podanego stringa.
StringStream jest czyszczony - nie musi być pusty ani zaalokowany. (???) Jeśli nie uda się odczytać wszystkich Length znaków, rzuca wyjątek.
| void common::CharReader::MustSkip | ( | size_t | Length | ) |
Pomija Length znaków.
Jeśli nie uda się pominąć wszystkich Length znaków, rzuca wyjątek.
| void common::CharReader::MustSkipChar | ( | ) | [inline] |
Jeśli jest następny znak do odczytania, pomija go.
Jeśli nie, rzuca wyjątek.
| bool common::CharReader::PeekChar | ( | char * | Out | ) | [inline] |
Jeśli można odczytać następny znak, podgląda go zwracając przez Out i zwraca true. Nie przesuwa "kursora".
Jeśli nie, nie zmienia Out i zwraca false. Oznacza to koniec strumienia.
| bool common::CharReader::ReadChar | ( | char * | Out | ) | [inline] |
Jeśli można odczytać następny znak, wczytuje go i zwraca true.
Jeśli nie, nie zmienia Out i zwraca false. Oznacza to koniec strumienia.
| size_t common::CharReader::ReadData | ( | void * | Out, | |
| size_t | MaxLength | |||
| ) |
Wczytuje co najwyżej MaxLength bajtów pod podany wskaźnik.
| [out] | Out | musi być tablicą zaalokowaną do długości co najmniej MaxLength bajtów. |
| bool common::CharReader::ReadLine | ( | string * | Out | ) |
Wczytuje linijkę tekstu i jeśli się udało, zwraca true.
Jeśli nie udało się wczytać ani jednego znaku, bo to już koniec strumienia, zwraca false. Czyta znaki do napotkania końca strumienia lub końca wiersza, którym są "\r", "\n" i "\r\n". Koniec wiersza przeskakuje, ale nie dołącza go do Out.
| size_t common::CharReader::ReadString | ( | char * | Out, | |
| size_t | MaxLength | |||
| ) |
Wczytuje co najwyżej MaxLength znaków pod podany wskaźnik.
| [out] | Out | musi być tablicą zaalokowaną do długości co najmniej MaxLength. |
| size_t common::CharReader::ReadString | ( | string * | Out, | |
| size_t | MaxLength | |||
| ) |
Wczytuje co najwyżej MaxLength znaków do podanego stringa.
StringStream jest czyszczony - nie musi być pusty ani zaalokowany. (???)
| size_t common::CharReader::Skip | ( | size_t | MaxLength | ) |
Pomija co najwyżej MaxLength znaków.
| bool common::CharReader::SkipChar | ( | ) | [inline] |
Jeśli jest następny znak do odczytania, pomija go i zwraca true.
Jeśli nie, zwraca false. Oznacza to koniec strumienia.
1.6.1