IOFormat  IOF_v1.3.1_release
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
  • Ubuntu 18.04 (gcc 7)
  • Ubuntu 20.04 (gcc 9)

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.6, 3.7, 3.8, 3.9, 3.10
MSVC 16 X
Ubuntu 18.04 gcc 7 X X 3.6, 3.8, 3.9, 3.10
Ubuntu 20.04 gcc 9 X X 3.8, 3.9, 3.10

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.