IBM Open Class (IOC) is an IBM C++ product originally developed by Kevin Leong and originally known under several names in the C++ industry, including ICL (IBM Class Library), UICL (User Interface Class Library), and OCL (Open Class Library).
IOC was an extensive set of C++ classes used to build CLI and GUI applications which could then be easily cross-compiled to OS/2, Microsoft Windows, and AIX. IOC also formed the basis for IBM's VisualAge for C++ graphical application builder. The non-GUI portions of IOC were available for z/OS and OS/400.
The IOC was included as part of IBM's C++ compiler environment. Applications developed with IOC could be distributed with a royalty-free runtime, or could be statically linked against the IOC libraries. Initially only available for OS/2, the IOC was eventually made available for Windows, AIX, z/OS, and OS/400. Support for the OS/2 and Windows VisualAge for C++ compiler—as well as the accompanying IOC—was officially withdrawn by IBM on April 27, 2001. IOC was removed from z/OS 1.9, introduced in 2007.
The most widely recognized example of a simple application that uses the IOC is hello world:
#include <iframe.hpp>
#include <istring.hpp>
#include <icmdhdr.hpp>