common::Stream Class Reference
[Stream Module]

Abstrakcyjna klasa bazowa strumieni danych binarnych. More...

#include <Stream.hpp>

Inheritance diagram for common::Stream:
common::CRC32_Calc common::GzipFileStream common::Hash_Calc common::MD5_Calc common::MultiWriterStream common::OverlayStream common::RingBuffer common::SeekableStream

List of all members.

Public Member Functions

virtual ~Stream ()
Zapisywanie



virtual void Write (const void *Data, size_t Size)
 Zapisuje dane.
virtual void Flush ()
template<typename T >
void WriteEx (const T &x)
 Zapisuje dane, sama odczytuje rozmiar przekazanej zmiennej.
void WriteString1 (const string &s)
 Zapisuje długość na 1B i łańcuch.
void WriteString1 (const char *s)
void WriteString1 (const char *s, unsigned NumChars)
void WriteString1 (const wstring &s)
void WriteString1 (const wchar_t *s)
void WriteString1 (const wchar_t *s, unsigned NumChars)
void WriteString2 (const string &s)
 Zapisuje długość na 2B i łańcuch.
void WriteString2 (const char *s)
void WriteString2 (const char *s, unsigned NumChars)
void WriteString2 (const wstring &s)
void WriteString2 (const wchar_t *s)
void WriteString2 (const wchar_t *s, unsigned NumChars)
void WriteString4 (const string &s)
 Zapisuje długość na 4B i łańcuch.
void WriteString4 (const char *s)
void WriteString4 (const char *s, unsigned NumChars)
void WriteString4 (const wstring &s)
void WriteString4 (const wchar_t *s)
void WriteString4 (const wchar_t *s, unsigned NumChars)
void WriteStringF (const string &s)
 Zapisuje łańcuch bez długości.
void WriteStringF (const wstring &s)
void WriteBool (bool b)
 Zapisuje wartość logiczną za pomocą jednego bajtu.
Odczytywanie



virtual size_t Read (void *Data, size_t MaxLength)
 Odczytuje dane.
virtual void MustRead (void *Data, size_t Length)
 Odczytuje tyle bajtów, ile się zażąda.
virtual bool End ()
 Tak samo jak MustRead(), ale sama odczytuje rozmiar przekazanej zmiennej.
virtual size_t Skip (size_t MaxLength)
 Pomija co najwyżej podaną liczbę bajtów (chyba że wcześniej osiągnięto koniec).
template<typename T >
void ReadEx (T *x)
 Odczytuje dane, sama odczytuje rozmiar przekazanej zmiennej.
void ReadString1 (string *s)
 Odczytuje łańcuch poprzedzony rozmiarem 1B.
void ReadString2 (string *s)
 Odczytuje łańcuch poprzedzony rozmiarem 2B.
void ReadString4 (string *s)
 Odczytuje łańcuch poprzedzony rozmiarem 4B.
void ReadStringF (string *s, size_t NumChars)
 Odczytuje łańcuch bez zapisanego rozmiaru.
void ReadStringToEnd (string *s)
 Odczytuje tyle znaków do łańcucha, ile się da do końca strumienia.
void ReadString1 (wstring *s)
 Wersje powyższych funkcji dla Unicode.
void ReadString2 (wstring *s)
void ReadString4 (wstring *s)
void ReadStringF (wstring *s, size_t NumChars)
void ReadStringToEnd (wstring *s)
void ReadBool (bool *b)
 Odczytuje wartość logiczną za pomocą jednego bajtu.
void MustSkip (size_t Length)
 Pomija koniecznie podaną liczbę bajtów.
Kopiowanie



size_t CopyFrom (Stream *s, size_t Size)
 Odczytuje podaną co najwyżej liczbę bajtów z podanego strumienia.
void MustCopyFrom (Stream *s, size_t Size)
 Odczytuje dokładnie podaną liczbę bajtów z podanego strumienia.
size_t CopyFromToEnd (Stream *s)
 Odczytuje dane do końca z podanego strumienia.

Detailed Description

Abstrakcyjna klasa bazowa strumieni danych binarnych.


Constructor & Destructor Documentation

virtual common::Stream::~Stream (  )  [inline, virtual]

Member Function Documentation

size_t common::Stream::CopyFrom ( Stream *  s,
size_t  Size 
)

Odczytuje podaną co najwyżej liczbę bajtów z podanego strumienia.

Returns:
Zwraca liczbę odczytanych bajtów
size_t common::Stream::CopyFromToEnd ( Stream *  s  ) 

Odczytuje dane do końca z podanego strumienia.

virtual bool common::Stream::End (  )  [virtual]

Tak samo jak MustRead(), ale sama odczytuje rozmiar przekazanej zmiennej.

Zwraca true, jeśli osiągnięto koniec strumienia (W oryginale: zgłasza błąd)

Reimplemented in common::FileStream, common::SeekableStream, common::NullStream, common::OverlayStream, common::BufferingStream, common::BinDecoder, common::HexDecoder, common::Base64Decoder, common::RingBuffer, common::ZlibDecompressionStream, common::GzipDecompressionStream, and common::GzipFileStream.

virtual void common::Stream::Flush (  )  [inline, virtual]
void common::Stream::MustCopyFrom ( Stream *  s,
size_t  Size 
)

Odczytuje dokładnie podaną liczbę bajtów z podanego strumienia.

Jeśli odczyta mniej, zgłasza błąd.

virtual void common::Stream::MustRead ( void *  Data,
size_t  Length 
) [virtual]

Odczytuje tyle bajtów, ile się zażąda.

Jeśli koniec pliku albo jeśli odczytano mniej, zgłasza błąd. (Można ją przeładować, ale nie trzeba - ma swoją wersję oryginalną)

Reimplemented in common::MemoryStream, common::VectorStream, common::StringStream, common::CounterOverlayStream, and common::RingBuffer.

void common::Stream::MustSkip ( size_t  Length  ) 

Pomija koniecznie podaną liczbę bajtów.

Jeśli wcześniej osiągnięto koniec, zgłasza błąd.

virtual size_t common::Stream::Read ( void *  Data,
size_t  MaxLength 
) [virtual]

Odczytuje dane.

Jeśli osiągnięto koniec, funkcja nie zwraca błędu, a liczba odczytanych bajtów to 0. (W oryginale: zgłasza błąd)

Parameters:
Size Liczba bajtów do odczytania
Returns:
Zwraca liczbę bajtów, jakie udało się odczytać

Reimplemented in common::FileStream, common::NullStream, common::MemoryStream, common::VectorStream, common::StringStream, common::CounterOverlayStream, common::LimitOverlayStream, common::BufferingStream, common::XorCoder, common::BinDecoder, common::HexDecoder, common::Base64Decoder, common::RingBuffer, common::ZlibDecompressionStream, common::GzipDecompressionStream, and common::GzipFileStream.

void common::Stream::ReadBool ( bool *  b  ) 

Odczytuje wartość logiczną za pomocą jednego bajtu.

template<typename T >
void common::Stream::ReadEx ( T *  x  )  [inline]

Odczytuje dane, sama odczytuje rozmiar przekazanej zmiennej.

void common::Stream::ReadString1 ( wstring *  s  ) 

Wersje powyższych funkcji dla Unicode.

void common::Stream::ReadString1 ( string *  s  ) 

Odczytuje łańcuch poprzedzony rozmiarem 1B.

void common::Stream::ReadString2 ( wstring *  s  ) 
void common::Stream::ReadString2 ( string *  s  ) 

Odczytuje łańcuch poprzedzony rozmiarem 2B.

void common::Stream::ReadString4 ( wstring *  s  ) 
void common::Stream::ReadString4 ( string *  s  ) 

Odczytuje łańcuch poprzedzony rozmiarem 4B.

void common::Stream::ReadStringF ( wstring *  s,
size_t  NumChars 
)
void common::Stream::ReadStringF ( string *  s,
size_t  NumChars 
)

Odczytuje łańcuch bez zapisanego rozmiaru.

void common::Stream::ReadStringToEnd ( wstring *  s  ) 
void common::Stream::ReadStringToEnd ( string *  s  ) 

Odczytuje tyle znaków do łańcucha, ile się da do końca strumienia.

virtual size_t common::Stream::Skip ( size_t  MaxLength  )  [virtual]

Pomija co najwyżej podaną liczbę bajtów (chyba że wcześniej osiągnięto koniec).

(Można ją przeładować, ale nie trzeba - ma swoją wersję oryginalną)

Returns:
Zwraca liczbę pominiętych bajtów.

Reimplemented in common::SeekableStream, common::NullStream, common::BufferingStream, and common::RingBuffer.

virtual void common::Stream::Write ( const void *  Data,
size_t  Size 
) [virtual]
void common::Stream::WriteBool ( bool  b  ) 

Zapisuje wartość logiczną za pomocą jednego bajtu.

template<typename T >
void common::Stream::WriteEx ( const T &  x  )  [inline]

Zapisuje dane, sama odczytuje rozmiar przekazanej zmiennej.

void common::Stream::WriteString1 ( const wchar_t *  s,
unsigned  NumChars 
)
void common::Stream::WriteString1 ( const wchar_t *  s  ) 
void common::Stream::WriteString1 ( const wstring &  s  ) 
void common::Stream::WriteString1 ( const char *  s,
unsigned  NumChars 
)
void common::Stream::WriteString1 ( const char *  s  ) 
void common::Stream::WriteString1 ( const string &  s  ) 

Zapisuje długość na 1B i łańcuch.

Jeśli łańcuch za długi - błąd.

void common::Stream::WriteString2 ( const wchar_t *  s,
unsigned  NumChars 
)
void common::Stream::WriteString2 ( const wchar_t *  s  ) 
void common::Stream::WriteString2 ( const wstring &  s  ) 
void common::Stream::WriteString2 ( const char *  s,
unsigned  NumChars 
)
void common::Stream::WriteString2 ( const char *  s  ) 
void common::Stream::WriteString2 ( const string &  s  ) 

Zapisuje długość na 2B i łańcuch.

Jeśli łańcuch za długi - błąd.

void common::Stream::WriteString4 ( const wchar_t *  s,
unsigned  NumChars 
)
void common::Stream::WriteString4 ( const wchar_t *  s  ) 
void common::Stream::WriteString4 ( const wstring &  s  ) 
void common::Stream::WriteString4 ( const char *  s,
unsigned  NumChars 
)
void common::Stream::WriteString4 ( const char *  s  ) 
void common::Stream::WriteString4 ( const string &  s  ) 

Zapisuje długość na 4B i łańcuch.

void common::Stream::WriteStringF ( const wstring &  s  ) 
void common::Stream::WriteStringF ( const string &  s  ) 

Zapisuje łańcuch bez długości.


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