Shadowrun: Awakened 29 September 2011 - Build 871
Public Member Functions | Protected Attributes
cat::BufferStream Class Reference

#include <BufferStream.hpp>

List of all members.

Public Member Functions

CAT_INLINE BufferStream (u8 *buffer)
CAT_INLINE char * c_str ()
CAT_INLINE u32 GetOffset (void *buffer)
CAT_INLINE operator u8 * ()
CAT_INLINE BufferStreamoperator++ ()
CAT_INLINE BufferStreamoperator+= (int skip_bytes)
CAT_INLINE BufferStreamoperator<< (s8 data)
template<class T >
CAT_INLINE BufferStreamoperator<< (const T &data)
CAT_INLINE BufferStreamoperator<< (s16 data)
CAT_INLINE BufferStreamoperator<< (s32 data)
CAT_INLINE BufferStreamoperator<< (s64 data)
CAT_INLINE BufferStreamoperator<< (u8 data)
CAT_INLINE BufferStreamoperator<< (u16 data)
CAT_INLINE BufferStreamoperator<< (u32 data)
CAT_INLINE BufferStreamoperator<< (u64 data)
CAT_INLINE BufferStreamoperator= (u8 *buffer)
CAT_INLINE BufferStreamoperator>> (u16 &data)
CAT_INLINE BufferStreamoperator>> (s32 &data)
template<class T >
CAT_INLINE BufferStreamoperator>> (T &data)
CAT_INLINE BufferStreamoperator>> (u8 &data)
CAT_INLINE BufferStreamoperator>> (s8 &data)
CAT_INLINE BufferStreamoperator>> (s64 &data)
CAT_INLINE BufferStreamoperator>> (u32 &data)
CAT_INLINE BufferStreamoperator>> (s16 &data)
CAT_INLINE BufferStreamoperator>> (u64 &data)
CAT_INLINE void read (void *data, u32 bytes)
CAT_INLINE void write (const void *data, u32 bytes)

Protected Attributes

u8_buffer

Detailed Description

Definition at line 49 of file BufferStream.hpp.


Constructor & Destructor Documentation

CAT_INLINE cat::BufferStream::BufferStream ( u8 buffer) [inline]

Definition at line 55 of file BufferStream.hpp.

References _buffer.

{ _buffer = buffer; }

Member Function Documentation

CAT_INLINE char* cat::BufferStream::c_str ( ) [inline]

Definition at line 63 of file BufferStream.hpp.

References _buffer.

{ return reinterpret_cast<char*>( _buffer ); }
CAT_INLINE u32 cat::BufferStream::GetOffset ( void *  buffer) [inline]

Definition at line 58 of file BufferStream.hpp.

References _buffer.

{ return (u32)(_buffer - reinterpret_cast<u8*>( buffer )); }
CAT_INLINE cat::BufferStream::operator u8 * ( ) [inline]

Definition at line 62 of file BufferStream.hpp.

References _buffer.

{ return _buffer; }
CAT_INLINE BufferStream& cat::BufferStream::operator++ ( ) [inline]

Definition at line 65 of file BufferStream.hpp.

References _buffer.

{ _buffer++; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator+= ( int  skip_bytes) [inline]

Definition at line 66 of file BufferStream.hpp.

References _buffer.

{ _buffer += skip_bytes; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( s16  data) [inline]

Definition at line 71 of file BufferStream.hpp.

References _buffer.

{ *(u16*)_buffer = getLE16((u16)data); _buffer += 2; return *this; }
template<class T >
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( const T data) [inline]

Definition at line 87 of file BufferStream.hpp.

References T, and write().

{ write(&data, sizeof(T)); return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( s32  data) [inline]

Definition at line 72 of file BufferStream.hpp.

References _buffer.

{ *(u32*)_buffer = getLE32((u32)data); _buffer += 4; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( s64  data) [inline]

Definition at line 73 of file BufferStream.hpp.

References _buffer.

{ *(u64*)_buffer = getLE64((u64)data); _buffer += 8; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( u8  data) [inline]

Definition at line 75 of file BufferStream.hpp.

References _buffer.

{ *_buffer++ = data; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( u16  data) [inline]

Definition at line 76 of file BufferStream.hpp.

References _buffer.

{ *(u16*)_buffer = getLE16(data); _buffer += 2; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( u32  data) [inline]

Definition at line 77 of file BufferStream.hpp.

References _buffer.

{ *(u32*)_buffer = getLE32(data); _buffer += 4; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( s8  data) [inline]

Definition at line 70 of file BufferStream.hpp.

References _buffer.

{ *_buffer++ = (u8)data; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator<< ( u64  data) [inline]

Definition at line 78 of file BufferStream.hpp.

References _buffer.

{ *(u64*)_buffer = getLE64(data); _buffer += 8; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator= ( u8 buffer) [inline]

Definition at line 56 of file BufferStream.hpp.

References _buffer.

{ _buffer = buffer; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( u32 data) [inline]

Definition at line 98 of file BufferStream.hpp.

References _buffer.

{ data = getLE32(*(u32*)_buffer); _buffer += 4; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( s64 data) [inline]

Definition at line 94 of file BufferStream.hpp.

References _buffer.

{ data = (s64)getLE64(*(u64*)_buffer); _buffer += 8; return *this; }
template<class T >
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( T data) [inline]

Definition at line 108 of file BufferStream.hpp.

References read(), and T.

{ read(&data, sizeof(T)); return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( u16 data) [inline]

Definition at line 97 of file BufferStream.hpp.

References _buffer.

{ data = getLE16(*(u16*)_buffer); _buffer += 2; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( s16 data) [inline]

Definition at line 92 of file BufferStream.hpp.

References _buffer.

{ data = (s16)getLE16(*(u16*)_buffer); _buffer += 2; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( u8 data) [inline]

Definition at line 96 of file BufferStream.hpp.

References _buffer.

{ data = *_buffer++; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( u64 data) [inline]

Definition at line 99 of file BufferStream.hpp.

References _buffer.

{ data = getLE64(*(u64*)_buffer); _buffer += 8; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( s32 data) [inline]

Definition at line 93 of file BufferStream.hpp.

References _buffer.

{ data = (s32)getLE32(*(u32*)_buffer); _buffer += 4; return *this; }
CAT_INLINE BufferStream& cat::BufferStream::operator>> ( s8 data) [inline]

Definition at line 91 of file BufferStream.hpp.

References _buffer.

{ data = (s8)*_buffer++; return *this; }
CAT_INLINE void cat::BufferStream::read ( void *  data,
u32  bytes 
) [inline]

Definition at line 101 of file BufferStream.hpp.

References _buffer.

Referenced by operator>>().

    {
        memcpy(data, _buffer, bytes);
        _buffer += bytes;
    }
CAT_INLINE void cat::BufferStream::write ( const void *  data,
u32  bytes 
) [inline]

Definition at line 80 of file BufferStream.hpp.

References _buffer.

Referenced by operator<<().

    {
        memcpy(_buffer, data, bytes);
        _buffer += bytes;
    }

Member Data Documentation


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

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net