MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lt_ioMemStream.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12
13
14 #ifndef LT_IO_MEM_STREAM_H
15 #define LT_IO_MEM_STREAM_H
16
17 #include "lt_ioStreamInf.h"
18
19 LT_BEGIN_NAMESPACE( LizardTech )
20
21
22
27 class LTIOMemStream : public LTIOStreamInf
28 {
29 public:
30 LTIOMemStream();
31 virtual ~LTIOMemStream();
32
43 virtual LT_STATUS initialize( void* data, lt_uint32 size );
44
52 virtual LT_STATUS initialize( lt_uint32 size );
55 virtual bool isEOF();
56 virtual bool isOpen();
57 virtual LT_STATUS open();
58 virtual LT_STATUS close();
59 virtual lt_uint32 read( lt_uint8 *pDest, lt_uint32 numBytes );
60 virtual lt_uint32 write( const lt_uint8 *pSrc, lt_uint32 numBytes );
61 virtual LT_STATUS seek( lt_int64 offset, LTIOSeekDir origin );
62 virtual lt_int64 tell();
63 virtual LTIOStreamInf* duplicate();
64 virtual LT_STATUS getLastError() const;
65 virtual const char* getID() const;
66
67 protected:
68
70 lt_uint8* m_data;
71
73 lt_uint32 m_size;
74
76 lt_uint32 m_cur;
77
79 bool m_ownsData;
80
82 bool m_isOpen;
83
84 bool m_isEOF;
85 };
86
87
88 LT_END_NAMESPACE( LizardTech )
89
90
91 #endif // LT_IO_MEM_STREAM_H

LizardTech