#include <sdts_al.h>
Inheritance diagram for SDTSIndexedReader:

Public Methods | |
| SDTSFeature * | GetNextFeature () |
| virtual void | Rewind () |
| void | FillIndex () |
| void | ClearIndex () |
| int | IsIndexed () |
| SDTSFeature * | GetIndexedFeatureRef (int) |
| char ** | ScanModuleReferences (const char *="ATID") |
|
|
Free all features in the index (if filled). After this the reader is considered to not be indexed, and IsIndexed() will return FALSE untill the index is forcably filled again. |
|
|
Read all features into a memory indexed cached. The ClearIndex() method can be used to free all indexed features. FillIndex() does nothing, if an index has already been built. |
|
|
Fetch a feature based on it's record number. This method will forceably fill the feature cache, reading all the features in the file into memory, if they haven't already been loaded. The ClearIndex() method can be used to flush this cache when no longer needed.
|
|
|
Fetch the next available feature from this reader. The returned SDTSFeature * is to an internal indexed object if the IsIndexed() method returns TRUE, otherwise the returned feature becomes the responsibility of the caller to destroy with delete. Note that the Rewind() method can be used to start over at the beginning of the modules feature list.
|
|
|
Returns TRUE if the module is indexed, otherwise it returns FALSE. If the module is indexed all the feature have already been read into memory, and searches based on the record number can be performed efficiently. |
|
|
Rewind so that the next feature returned by GetNextFeature() will be the first in the module. |
|
|
Scan an entire SDTS module for record references with the given field name. The fields are required to have a MODN subfield from which the module is extracted. This method is normally used to find all the attribute modules referred to by a point, line or polygon module to build a unified schema. This method will have the side effect of rewinding unindexed readers because the scanning operation requires reading all records in the module from disk.
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002