# CategoryIOStream

SDL provides an abstract interface for reading and writing data streams. It
offers implementations for files, memory, etc, and the app can provide
their own implementations, too.

[SDL_IOStream](SDL_IOStream) is not related to the standard C++ iostream
class, other than both are abstract interfaces to read/write data.

<!-- END CATEGORY DOCUMENTATION -->

## Functions

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryIOStream, CategoryAPIFunction -->
- [SDL_CloseIO](SDL_CloseIO)
- [SDL_FlushIO](SDL_FlushIO)
- [SDL_GetIOProperties](SDL_GetIOProperties)
- [SDL_GetIOSize](SDL_GetIOSize)
- [SDL_GetIOStatus](SDL_GetIOStatus)
- [SDL_IOFromConstMem](SDL_IOFromConstMem)
- [SDL_IOFromDynamicMem](SDL_IOFromDynamicMem)
- [SDL_IOFromFile](SDL_IOFromFile)
- [SDL_IOFromMem](SDL_IOFromMem)
- [SDL_IOprintf](SDL_IOprintf)
- [SDL_IOvprintf](SDL_IOvprintf)
- [SDL_LoadFile](SDL_LoadFile)
- [SDL_LoadFile_IO](SDL_LoadFile_IO)
- [SDL_OpenIO](SDL_OpenIO)
- [SDL_ReadIO](SDL_ReadIO)
- [SDL_ReadS16BE](SDL_ReadS16BE)
- [SDL_ReadS16LE](SDL_ReadS16LE)
- [SDL_ReadS32BE](SDL_ReadS32BE)
- [SDL_ReadS32LE](SDL_ReadS32LE)
- [SDL_ReadS64BE](SDL_ReadS64BE)
- [SDL_ReadS64LE](SDL_ReadS64LE)
- [SDL_ReadS8](SDL_ReadS8)
- [SDL_ReadU16BE](SDL_ReadU16BE)
- [SDL_ReadU16LE](SDL_ReadU16LE)
- [SDL_ReadU32BE](SDL_ReadU32BE)
- [SDL_ReadU32LE](SDL_ReadU32LE)
- [SDL_ReadU64BE](SDL_ReadU64BE)
- [SDL_ReadU64LE](SDL_ReadU64LE)
- [SDL_ReadU8](SDL_ReadU8)
- [SDL_SaveFile](SDL_SaveFile)
- [SDL_SaveFile_IO](SDL_SaveFile_IO)
- [SDL_SeekIO](SDL_SeekIO)
- [SDL_TellIO](SDL_TellIO)
- [SDL_WriteIO](SDL_WriteIO)
- [SDL_WriteS16BE](SDL_WriteS16BE)
- [SDL_WriteS16LE](SDL_WriteS16LE)
- [SDL_WriteS32BE](SDL_WriteS32BE)
- [SDL_WriteS32LE](SDL_WriteS32LE)
- [SDL_WriteS64BE](SDL_WriteS64BE)
- [SDL_WriteS64LE](SDL_WriteS64LE)
- [SDL_WriteS8](SDL_WriteS8)
- [SDL_WriteU16BE](SDL_WriteU16BE)
- [SDL_WriteU16LE](SDL_WriteU16LE)
- [SDL_WriteU32BE](SDL_WriteU32BE)
- [SDL_WriteU32LE](SDL_WriteU32LE)
- [SDL_WriteU64BE](SDL_WriteU64BE)
- [SDL_WriteU64LE](SDL_WriteU64LE)
- [SDL_WriteU8](SDL_WriteU8)
<!-- END CATEGORY LIST -->

## Datatypes

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryIOStream, CategoryAPIDatatype -->
- [SDL_IOStream](SDL_IOStream)
<!-- END CATEGORY LIST -->

## Structs

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryIOStream, CategoryAPIStruct -->
- [SDL_IOStreamInterface](SDL_IOStreamInterface)
<!-- END CATEGORY LIST -->

## Enums

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryIOStream, CategoryAPIEnum -->
- [SDL_IOStatus](SDL_IOStatus)
- [SDL_IOWhence](SDL_IOWhence)
<!-- END CATEGORY LIST -->

## Macros

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryIOStream, CategoryAPIMacro -->
- (none.)
<!-- END CATEGORY LIST -->


----
[CategoryAPICategory](CategoryAPICategory)


