00001 00034 #include "linden_common.h" 00035 #include "llmemorystream.h" 00036 00037 LLMemoryStreamBuf::LLMemoryStreamBuf(const U8* start, S32 length) 00038 { 00039 reset(start, length); 00040 } 00041 00042 LLMemoryStreamBuf::~LLMemoryStreamBuf() 00043 { 00044 } 00045 00046 void LLMemoryStreamBuf::reset(const U8* start, S32 length) 00047 { 00048 setg((char*)start, (char*)start, (char*)start + length); 00049 } 00050 00051 int LLMemoryStreamBuf::underflow() 00052 { 00053 //lldebugs << "LLMemoryStreamBuf::underflow()" << llendl; 00054 if(gptr() < egptr()) 00055 { 00056 return *gptr(); 00057 } 00058 return EOF; 00059 } 00060 00065 LLMemoryStream::LLMemoryStream(const U8* start, S32 length) : 00066 std::istream(&mStreamBuf), 00067 mStreamBuf(start, length) 00068 { 00069 } 00070 00071 LLMemoryStream::~LLMemoryStream() 00072 { 00073 } 00074 00075