"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSStandardLib/Src/Streams/LSSTDStream.h

00001 
00017 #ifndef __LSSTD_STREAM_H__
00018 #define __LSSTD_STREAM_H__
00019 
00020 #include "../LSSTDStandardLib.h"
00021 
00022 namespace lsstd {
00023 
00031         class IStream {
00032                 // All is public.  This class has no secrets.
00033         public :
00034                 // == Enumerations.
00038                 enum LSSTD_STREAM_ERRORS {
00039                         LSSTD_SE_ERROR                                          = ~0UL,                 
00040                         LSSTD_SE_SUCCESS                                        = 0UL,                  
00041                         LSSTD_SE_MEMORYERROR                            = 1UL,                  
00042                         LSSTD_SE_ENDOFSTREAM                            = 2UL,                  
00044                         LSSTD_SE_FORCEDWORD                                     = 0x7FFFFFFFUL, 
00045                 };
00046 
00047 
00048                 // == Functions.
00056                 virtual LSUINT32 LSE_CALL                               ReadBytes( LSUINT8 * _pui8Buffer, LSUINT32 _ui32BytesToRead ) const = 0;
00057 
00063                 virtual LSUINT64 LSE_CALL                               ReadUInt64() const = 0;
00064                 
00070                 virtual LSUINT32 LSE_CALL                               ReadUInt32() const = 0;
00071 
00077                 virtual LSUINT16 LSE_CALL                               ReadUInt16() const = 0;
00078 
00084                 virtual LSUINT8 LSE_CALL                                ReadUInt8() const = 0;
00085 
00091                 virtual LSFLOAT LSE_CALL                                ReadFloat() const = 0;
00092 
00098                 virtual LSDOUBLE LSE_CALL                               ReadDouble() const = 0;
00099 
00107                 virtual LSUINT32 LSE_CALL                               WriteBytes( const LSUINT8 * _pui8Buffer, LSUINT32 _ui32BytesToWrite ) = 0;
00108 
00114                 virtual LSBOOL LSE_CALL                                 WriteUInt64( const LSUINT64 &_ui64Value ) = 0;
00115                 
00121                 virtual LSBOOL LSE_CALL                                 WriteUInt32( LSUINT32 _ui32Value ) = 0;
00122 
00128                 virtual LSBOOL LSE_CALL                                 WriteUInt16( LSUINT16 _ui16Value ) = 0;
00129 
00135                 virtual LSBOOL LSE_CALL                                 WriteUInt8( LSUINT8 _ui8Value ) = 0;
00136 
00142                 virtual LSBOOL LSE_CALL                                 WriteFloat( LSFLOAT _fValue ) = 0;
00143 
00149                 virtual LSBOOL LSE_CALL                                 WriteDouble( const LSDOUBLE &_dValue ) = 0;
00150         };
00151 
00152 }       // namespace lsstd
00153 
00154 #endif  // __LSSTD_STREAM_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator