BufferWriter.h

Go to the documentation of this file.
00001 
00020 #ifndef ARXX_BUFFERWRITER_H
00021 #define ARXX_BUFFERWRITER_H
00022 
00023 #include "Buffer.h"
00024 
00031 namespace Arxx
00032 {
00036     class BufferWriter
00037     {
00038     public:
00043         BufferWriter(Arxx::Buffer & Buffer, Arxx::Buffer::size_type stPosition = Arxx::Buffer::Marker::END);
00044         
00050         void vWrite(Arxx::Buffer::size_type stDataLength, Arxx::Buffer::const_pointer Data = 0);
00051         
00056         Arxx::Buffer & GetBuffer(void);
00057         
00062         const Arxx::Buffer & GetBuffer(void) const;
00063         
00067         Arxx::Buffer::size_type stGetPosition(void) const;
00068         
00072         void vSetPosition(Arxx::Buffer::size_type stPosition);
00073     private:
00074         Arxx::Buffer & m_Buffer;
00075         Arxx::Buffer::Marker m_Marker;
00076     };
00077 
00088     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const std::string & sString);
00089 
00102     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const char * pcString);
00103     
00112     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const float & fValue);
00113     
00122     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const Arxx::u4byte & u4Value);
00123     
00132     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const bool & bValue);
00133     
00142     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const char & cValue);
00143     
00152     Arxx::BufferWriter & operator<<(Arxx::BufferWriter & BufferWriter, const std::pair< Arxx::Buffer::size_type, std::istream * > & Stream);
00153 }
00154 
00155 #endif

Generated on Tue Oct 10 11:33:55 2006 for libarxx by  doxygen 1.4.7