| IOFormat 1.8.0

Loading...
Searching...
No Matches
Functionalities

IOFormat functionalities, for now, and for the future.

# Supported formats

IOFormat contains a base of plugins to handle the most current formats. See Plugins chapter for more details.

Any customer is free to implement its own extractor/writer to handle any other format. See the Plugin System chapter for more details.

# Thread safety

Natively, it is not possible to parallelize data access from a same resource. Thus user cannot read and/or write data in a same view (directly coming from IOFormat) without risking causing unpredictable and irreversible side effects. On the other hand, according to each format, making data access thread-safe is possible, but not yet implemented in any plugin.

Nevertheless, IOLink provides a factory to make any ImageView thread-safe by protecting sensitive methods with locks.

# Environments

IOFormat is available for following compilers:

- Visual Studio 2017
- Visual Studio 2019
- Visual Studio 2022
- Ubuntu 20.04 (gcc 9)
- Ubuntu 22.04 (gcc 11)
- Ubuntu 24.04 (gcc 13)
- RHEL8 (gcc 8)

# Wrapped Langages

IOFormat is wrapped for:

- .NET Standard 2.0
- Python

Here is an array of compatibility for languages:

Compilers | C++ | .NET Standard 2.0 | Python
--- | --- | --- | ---
MSVC 15 | X | X | 3.8 - 3.12
MSVC 16 | X |  |
MSVC 17 | X |  |
Ubuntu 20.04 gcc 9 | X | X | 3.8 - 3.12
Ubuntu 22.04 gcc 11 | X | X | 3.10 - 3.12
Ubuntu 24.04 gcc 13 | X | X | 3.12
RHEL8 gcc 8 | X |  |
Debian 11 & 12 |  | X |

Some limitations in .NET Core 2.1:

- Any call to IOLink API must be done before using IOFormat. Internal issue which occurs when IOLink library is not found by IOFormat library.
- In command line, with plugins using dynamically-linked thirdparty libraries, path must be manually set to indicate the location of thirdparty libraries.