The Full Wiki

More info on IBM Open Class

IBM Open Class: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

C Set++ v2.01 for OS/2, the first release of IOC/OCL/IUICL

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.


History of IOC

Promotional poster from 1993 showing parts of the class hierarchy for the IUICL v2.01

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 both Windows and AIX. 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.[1]

  • C/Set++ v2.01 for OS/2 (1993)
  • VisualAge C++ for OS/2, version 3.0
  • VisualAge for C++ for Windows, version 3.5
  • C and C++ Compilers for OS/2, AIX, and for Windows NT, version 3.6
  • C and C++ Compilers for OS/2 and Windows, version 3.65 (1998?)
  • VisualAge C++ Professional for OS/2 and Windows NT, version 4.0 (1998)


The most widely recognized example of a simple application that uses the IOC is hello world:

#include <iframe.hpp>
int main()
    IFrameWindow frame ("Hello, World!");

Other examples of commonly-used IOC classes and methods include:

#include <istring.hpp>
IString someText ("hello world");
#include <icmdhdr.hpp>
virtual Boolean MyHandler::command (ICommandEvent &event);


  1. ^  IBM's Withdrawal Announcement #901-013 (announced on January 23, 2001, effective on April 27, 2001)

External links

  • news://
  • ISBN 0-442-01795-2 (C++ Class Library: Power GUI Programming with CSet++)
  • ISBN 0-471-16482-8 (Power GUI Programming with VisualAge for C++)


Got something to say? Make a comment.
Your name
Your email address