## Generic IO Generic IO — CTPL's IO layer |

## Synopsis

    #include <ctpl/ctpl.h>

    enum                CtplIOError;
    #define             CTPL_IO_ERROR

## Description

See the two sub-modules CtplInputStream and CtplOutputStream.

## Details

### enum CtplIOError

    typedef enum _CtplIOError
    {
      CTPL_IO_ERROR_EOF,
      CTPL_IO_ERROR_INVALID_NUMBER,
      CTPL_IO_ERROR_INVALID_STRING,
      CTPL_IO_ERROR_RANGE,
      CTPL_IO_ERROR_FAILED
    } CtplIOError;

Errors that can be thrown by I/O functions (CtplInputStream and CtplOutputStream methods), from the `CTPL_IO_ERROR` domain.

`CTPL_IO_ERROR_EOF` | End of the stream unexpectedly reached
`CTPL_IO_ERROR_INVALID_NUMBER` | The stream doesn't contain a valid number recognized by the function that threw it
`CTPL_IO_ERROR_INVALID_STRING` | The stream doesn't contain a valid string literal
`CTPL_IO_ERROR_RANGE` | A numeric conversion would overflow
`CTPL_IO_ERROR_FAILED` | Something went wrong

### CTPL_IO_ERROR

    #define CTPL_IO_ERROR   (ctpl_io_error_quark ())

Error domain for CtplIOErrors.