common::CharReader Class Reference
[Stream Module]

Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki i inne rzeczy. More...

#include <Stream.hpp>

List of all members.

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.

Detailed Description

Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki i inne rzeczy.


Constructor & Destructor Documentation

common::CharReader::CharReader ( Stream a_Stream  )  [inline]

Member Function Documentation

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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[out] Out musi być tablicą zaalokowaną do długości co najmniej MaxLength bajtów.
Returns:
Zwraca liczbę odczytanych bajtów. Mniej niż żądano oznacza koniec strumienia.
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.

Parameters:
[out] Out musi być tablicą zaalokowaną do długości co najmniej MaxLength.
Returns:
Zwraca liczbę odczytanych znaków. Mniej niż żądano oznacza koniec strumienia.
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. (???)

Returns:
Zwraca liczbę odczytanych znaków. Mniej niż żądano oznacza koniec strumienia.
size_t common::CharReader::Skip ( size_t  MaxLength  ) 

Pomija co najwyżej MaxLength znaków.

Returns:
Zwraca liczbę pominiętych znaków. Mniej niż żądano oznacza koniec strumienia.
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.


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

Generated on Wed Dec 16 20:44:55 2009 for CommonLib by  doxygen 1.6.1