IO - I/O Support Library
The IO library contains abstraction classes for file I/O. It is used extensively throughout the higher-level libraries.
Header Files
- File.h
- File is an abstract base class to support high-performance endianness-safe binary read/write access to data sources and sinks of various types.
- SeekableFile.h
- SeekableFile is a base class derived from IO::File to indicate files whose read and write positions can be changed via seek... methods.
- StandardFile.h
- StandardFile is a concrete class to support high-performance access to standard files.
- MemMappedFile.h
- MemMappedFile is a concrete class for read/write access to memory-mapped files, mostly to simplify resource management.
- FixedMemoryFile.h
- FixedMemoryFile is a concrete class to support high-performance reading from temporary files represented as fixed-size in-memory buffers.
- VariableMemoryFile.h
- VariableMemoryFile is a concrete class to support high-performance writing to temporary files represented as linked lists of in-memory buffers.
- GzippedFile.h
- GzippedFile is a concrete class for read access to gzip-compressed files.
- GzipFilter.h
- GzipFilter is a class to layer on-the-fly gzip compression or decompression over an underlying IO::File object.
- SeekableFilter.h
- SeekableFilter is a class to convert a streaming IO::File object into a seekable IO::SeekableFile object via in-memory caching.
- ReadAheadFilter.h
- ReadAheadFilter is an adapter for IO::File objects to provide read throughput via background read-ahead. It's especially useful for high-latency base files such as IO::GzipFilter.
- Directory.h
- Directory is an abstract base class to access directory-like objects in a generic fashion.
- StandardDirectory.h
- StandardDirectory is a concrete class derived from IO::Directory to read standard filesystem directories.
- OpenFile.h
- OpenFile.h contains namespace-global functions to open files using appropriate concrete implementations of the IO::File abstraction.
- IFFChunk.h
- IFFChunk is a class to read container files in IFF (Interchange File Format) format using an IO::File abstraction.
- ZipArchive.h
- ZipArchive is a class representing ZIP archive files, using a IO::SeekableFile abstraction to represent the ZIP archive, and granting read access to files stored in a ZIP archive using IO::File abstractions.
- XBaseTable.h
- XBaseTable is a class to read from database tables in XBase (dBASE III, dBASE IV, FoxPro, Clipper,...) format. It currently only supports basic dBASE III data types, and no memo fields.
- TokenSource.h
- TokenSource is a class to split the character stream from an object derived from IO::File into a stream of tokens, with flexible definitions of syntactic character classes.
- ValueSource.h
- ValueSource is a class to split the character stream from an object derived from IO::File into a stream of strings or numbers, with flexible definitions of syntactic character classes.
- CSVSource.h
- CSVSource is a class implementing a comma-separated value file structure over objects derived from IO::File.
- OStream.h
- OStream is a wrapper class to layer a std::ostream abstraction over an IO::File object.
- FileMonitor.h
- FileMonitor is a class to asynchronously monitor changes to selected files or directories in an OS-independent fashion. Currently only implemented for Linux with kernel >= 2.6.13 and glibc >= 2.5, using the inotify service.