See below for an overview of the classes in this module.
This module provides the basic IO functionality for the AIPS++ classes. There are two IO mechanisms:
Both use the underlying IO framework which define where and how the data is written. The how-part is defined by classes derived from TypeIO as shown in the OMT diagram. There are three such classes:
stdio system to do IO in a buffered way. It uses an internal buffer to do physical IO only when needed. See the description of C-functions like fopen, fread or do man stdio for more information. open, read to do IO directly. It does not use an internal buffer. Instead it always do a physical IO. It is meant for IO operations where large chunks of a file are accessed and for IO on sockets, pipes, etc.\.
The IO framework is easily expandable. Once can for instance think of a class AsciiIO derived from TypeIO to hold data in ASCII format.
A class TapeIO could be derived from ByteIO to access tape files. This class can also contain functions to skip to a tape file, which the user can call directly. Similarly a class RemoteTapeIO could be developed.
Modules | |
| IO_internal_classes | |
| Internal IO classes and functions. | |
Classes | |
| class | casa::AipsIO |
| AipsIO is the object persistency mechanism of AIPS++. More... | |
| struct | casa::AipsIOCarray_global_functions_AipsIOCarray |
| Templated functions to get/put a C-style array from/into AipsIO. More... | |
| class | casa::BaseSinkSource |
| Shared base class for ByteSink and ByteSource. More... | |
| struct | casa::BucketCache_global_functions_BucketCache_CallBack |
| Define the type of the static read and write function. More... | |
| class | casa::BucketCache |
| Cache for buckets in a part of a file. More... | |
| class | casa::ByteIO |
| Abstract base class for IO on a byte stream. More... | |
| class | casa::ByteSink |
| Class for write-only access to data in a given format. More... | |
| class | casa::ByteSinkSource |
| Class for read/write access to data in a given format. More... | |
| class | casa::ByteSource |
| Class for read-only access to data in a given format. More... | |
| class | casa::CanonicalIO |
| Class for IO in canonical format. More... | |
| class | casa::ConversionIO |
| Class for IO in a converted format. More... | |
| class | casa::FilebufIO |
| Class for buffered file IO. More... | |
| class | casa::FiledesIO |
| Class for IO on a file descriptor. More... | |
| class | casa::FileLocker |
| Class to handle file locking. More... | |
| class | casa::LargeFilebufIO |
| Class for buffered IO on a large file. More... | |
| class | casa::LargeFiledesIO |
| Class for IO on a large file descriptor. More... | |
| class | casa::LargeRegularFileIO |
| Class for IO on a regular large file. More... | |
| class | casa::LECanonicalIO |
| Class for IO in little endian canonical format. More... | |
| class | casa::LockFile |
| Class to handle file locking and synchronization. More... | |
| class | casa::MemoryIO |
| Class for IO to a memory buffer. More... | |
| class | casa::RawIO |
| Class for IO in local format. More... | |
| class | casa::RegularFileIO |
| Class for IO on a regular file. More... | |
| class | casa::StreamIO |
| Class for IO on connection oriented socket. More... | |
| class | casa::TapeIO |
| Class for IO on a tape device. More... | |
| class | casa::TypeIO |
| Abstract base class for IO of data in a type-dependent format. More... | |
1.5.1