You are here: The SDK Classes > The Support Classes

## The Support Classes

The MrSID Decode SDK includes several supporting classes, however, you will probably only need to engage the IO classes and the Bounds class.

###### The IO Classes

The SDK provides an abstract mechanism for reading and writing data. These mechanism constitute the IO class.

The IO class provides methods for opening and closing the resource, reading and writing of byte arrays at a given offset in the resource, and getting and setting the resource size. This model is different from the UNIX stdio interfaces in that the file position is not stored in the IO object. It mimics the POSIX pread() and pwrite() interfaces. This model ensures the thread safety of the IO subclasses, enabling you to read from the IO instances on multiple threads simultaneously.

The FileIO Class is a concrete implementation of the IO class for reading files from and writing files to disk.

###### The Bounds Class

The Bounds class defines a three-dimensional bounding box used to define regions of interest. This class has a one-dimensional interval for each of the X, Y and Z axes.

NOTE: The one-dimensional interval used by the Bounds class has member variables named min and max that may conflict with the min() and max() macros in Windows.h. To avoid this conflict, we undefined the min() and max() macros.