class Core::IO::BinaryStreamAccessor

Overview

Access typed data from stream. More…

#include <corestreamaccessor.h>

class BinaryStreamAccessor: public Core::IO::BinaryAccessor
{
public:
    // construction

    BinaryStreamAccessor (
        IByteStream& stream,
        int byteOrder = CORE_NATIVE_BYTEORDER
    );

    // methods

    IByteStream& getStream ();
    virtual int read (void* buffer, int size);
    virtual int write (const void* buffer, int size);
    virtual int read (void* buffer, int size);
    bool read (int8& c);
    bool read (uint8& uc);
    bool read (int16& s);
    bool read (uint16& us);
    bool read (int32& l);
    bool read (uint32& ul);
    bool read (int64& ll);
    bool read (uint64& ull);
    bool read (float& f);
    bool read (double& f);
    bool read (char& c);
    virtual int write (const void* buffer, int size);
    bool write (int8 c);
    bool write (uint8 uc);
    bool write (int16 s);
    bool write (uint16 us);
    bool write (int32 l);
    bool write (uint32 ul);
    bool write (int64 ll);
    bool write (uint64 ull);
    bool write (float f);
    bool write (double f);
    bool write (char c);
};

Inherited Members

public:
    // fields

    static const uint16 kByteOrderMark = 0xFEFF;

    // methods

    bool isByteSwap () const;
    int getByteOrder () const;
    void setByteOrder (int byteOrder);
    bool writeByteOrder ();
    bool readByteOrder ();
    virtual int read (void* buffer, int size) = 0;
    virtual int write (const void* buffer, int size) = 0;

    template  <typename T>
    int readElements (T buffer [], int count);

    template  <typename T>
    int writeElements (const T buffer [], int count);

    bool write (int8 c);
    bool read (int8& c);
    bool write (uint8 uc);
    bool read (uint8& uc);
    bool write (int16 s);
    bool read (int16& s);
    bool write (uint16 us);
    bool read (uint16& us);
    bool write (int32 l);
    bool read (int32& l);
    bool write (uint32 ul);
    bool read (uint32& ul);
    bool write (int64 ll);
    bool read (int64& ll);
    bool write (uint64 ull);
    bool read (uint64& ull);
    bool writeVarLen (uint32 value);
    bool readVarLen (uint32& value);
    bool write (float f);
    bool read (float& f);
    bool write (double f);
    bool read (double& f);
    bool write (char c);
    bool read (char& c);
    bool writeCString (CStringPtr string, bool terminate = true);
    bool readCStringBuffer (char* charBuffer, int bufferSize);
    bool writeFCC (int32 fcc);
    bool readFCC (int32& fcc);

Detailed Documentation

Access typed data from stream.

Methods

virtual int read (void* buffer, int size)

Read data from underlying storage, to be implemented by derived class.

virtual int write (const void* buffer, int size)

Write data to underlying storage, to be implemented by derived class.

virtual int read (void* buffer, int size)

Read data from underlying storage, to be implemented by derived class.

virtual int write (const void* buffer, int size)

Write data to underlying storage, to be implemented by derived class.