CMS 3D CMS Logo

Decompressor.h

Go to the documentation of this file.
00001 #ifndef CLASSLIB_DECOMPRESSOR_H
00002 # define CLASSLIB_DECOMPRESSOR_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "classlib/sysapi/system.h"
00007 # include "classlib/iobase/IOBuffer.h"
00008 
00009 namespace lat {
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00014 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00015 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00016 
00046 class Decompressor
00047 {
00048 public:
00049     virtual ~Decompressor (void);
00050 
00051     // Global compressor state
00052     virtual void        reset (void) = 0;
00053     virtual void        end (void) = 0;
00054 
00055     // Input management
00056     virtual bool        more (void) const = 0;
00057     virtual void        input (const void *buffer, IOSize length) = 0;
00058     virtual IOSize      rest (void) const = 0;
00059 
00060     // Compression
00061     virtual bool        finished (void) const = 0;
00062     virtual IOSize      decompress (void *into, IOSize length) = 0;
00063 
00064     // Statistics
00065     virtual unsigned    checksum (void) const = 0;
00066     virtual IOOffset    in (void) const = 0;
00067     virtual IOOffset    out (void) const = 0;
00068 };
00069 
00070 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00071 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00072 
00073 } // namespace lat
00074 #endif // CLASSLIB_DECOMPRESSOR_H

Generated on Tue Jun 9 17:39:00 2009 for CMSSW by  doxygen 1.5.4