Add a lazy Part 21 reader and instance manager that index records and resolve SDAI instances on demand. Include diagnostics, cache management, reference indexes, and baseline coverage for lazy reads.
36 lines
1023 B
C++
36 lines
1023 B
C++
#ifndef HEADERSECTIONREADER_H
|
|
#define HEADERSECTIONREADER_H
|
|
|
|
#include <iostream>
|
|
#include <fstream>
|
|
|
|
#include "judyL2Array.h"
|
|
#include "cllazyfile/lazyFileReader.h"
|
|
#include "cllazyfile/sectionReader.h"
|
|
#include "cllazyfile/lazyTypes.h"
|
|
|
|
#include "sc_export.h"
|
|
|
|
///differs from the lazyDataSectionReader in that all instances are always loaded
|
|
class SC_LAZYFILE_EXPORT headerSectionReader: public sectionReader {
|
|
protected:
|
|
instancesLoaded_t * _headerInstances;
|
|
|
|
/// must derive from this class
|
|
headerSectionReader( lazyFileReader * parent, std::ifstream & file, std::streampos start, sectionID sid ):
|
|
sectionReader( parent, file, start, sid ) {
|
|
_headerInstances = new instancesLoaded_t;
|
|
}
|
|
public:
|
|
instancesLoaded_t * getInstances() const {
|
|
return _headerInstances;
|
|
}
|
|
|
|
virtual ~headerSectionReader() {
|
|
_headerInstances->clear( true );
|
|
delete _headerInstances;
|
|
}
|
|
};
|
|
|
|
#endif //HEADERSECTIONREADER_H
|