#include <djv_data.h>
Public Member Functions | |
virtual size_t | getSize () const |
virtual AutoPtr< Storage > | getReadOnlyStorage () const |
AutoPtr< Storage > | getBaseStorage () |
virtual AutoPtr< Data > | duplicate (bool inCompaction=false) const |
virtual void | compact () |
virtual void | lock () const |
virtual void | unlock () const |
Public Member Functions inherited from Celartem::DjVu::Data | |
void | decompressToMemory (SimpleArray< u8 > &outBuffer) const |
Public Member Functions inherited from Celartem::Referable | |
Referable () | |
void | addRef () const |
void | releaseRef () const |
size_t | getReferenceCount () const |
Static Public Member Functions | |
static AutoPtr< StorageData > | create (Storage *inStorage, uint64_t inOffset, size_t inSize) |
static AutoPtr< StorageData > | create (Storage *inStorage) |
Static Public Member Functions inherited from Celartem::Referable | |
static void | dumpDbgAllRefCount () |
This implementation provides Storage based data structure.
|
inlinevirtual |
Minimize the memory usage by removing reserved area.
Implements Celartem::DjVu::Data.
|
inlinestatic |
Creates a StorageData instance on an existing Storage.
inStorage | Storage to load data from. |
inOffset | Absolute data offset from the storage top. |
inSize | Size of the data. It could be 0 for empty data. |
Referenced by duplicate().
|
inlinestatic |
Creates a StorageData instance on an existing Storage.
Please note that StorageData instance always rewind the storage before making the client access the data.
inStorage | Storage to load data from. |
|
inlinevirtual |
Duplicate the Data instance.
inCompaction | Whether the duplication process also does compaction of memory usage or not. |
Implements Celartem::DjVu::Data.
Get readonly Storage access to the actual data.
The caller should not write to the stream but only reads the data from it. The Storage should be rewound to the beginning position.
Implements Celartem::DjVu::Data.
|
inlinevirtual |
|
inlinevirtual |
Locks the instance.
This method provides a synchronization mechanism for processing the instance between threads.
If you plan to use the instance in multi-threaded program, it's recommended to lock the instance before accessing the data.
Implements Celartem::DjVu::Data.
|
inlinevirtual |