<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=IBM_Open_Class</id>
	<title>IBM Open Class - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=IBM_Open_Class"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=IBM_Open_Class&amp;action=history"/>
	<updated>2026-05-04T22:47:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=IBM_Open_Class&amp;diff=2383348&amp;oldid=prev</id>
		<title>imported&gt;Akira625: Added links, removed dead links.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=IBM_Open_Class&amp;diff=2383348&amp;oldid=prev"/>
		<updated>2024-08-23T19:06:57Z</updated>

		<summary type="html">&lt;p&gt;Added links, removed dead links.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:CSet++ logo.jpg|thumb|right|C Set++ v2.01 for OS/2, the first release of IOC/OCL/IUICL]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IBM Open Class&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;IOC&amp;#039;&amp;#039;&amp;#039;) is an [[IBM]] [[C++]] product originally developed by Kevin Leong and originally known under several names in the C++ industry, including &amp;#039;&amp;#039;&amp;#039;ICL&amp;#039;&amp;#039;&amp;#039; (IBM Class Library), &amp;#039;&amp;#039;&amp;#039;UICL&amp;#039;&amp;#039;&amp;#039; (User Interface Class Library), and &amp;#039;&amp;#039;&amp;#039;OCL&amp;#039;&amp;#039;&amp;#039; (Open Class Library).&lt;br /&gt;
&lt;br /&gt;
IOC was an extensive set of [[C++ classes]] used to build [[command line interface|CLI]] and [[GUI]] applications which could then be easily [[cross compiler|cross-compiled]] to [[OS/2]], [[Microsoft Windows]], and [[AIX operating system|AIX]]. IOC also formed the basis for IBM&amp;#039;s [[VisualAge|VisualAge for C++]] graphical application builder. The non-GUI portions of IOC were available for [[z/OS]] and [[OS/400]].&lt;br /&gt;
&lt;br /&gt;
== History of IOC ==&lt;br /&gt;
[[File:IUICL v2.01 poster.jpg|thumb|right|Promotional poster from 1993 showing parts of the class hierarchy for the IUICL v2.01]]&lt;br /&gt;
&lt;br /&gt;
The IOC was included as part of IBM&amp;#039;s C++ [[compiler]] environment. Applications developed with IOC could be distributed with a [[royalty-free]] [[runtime library|runtime]], or could be [[static library|statically linked]] against the IOC [[software library|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.{{ref|ibmwithdrawal}} IOC was removed from z/OS 1.9, introduced in 2007.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- anyone have further version and/or date information? --&amp;gt;&lt;br /&gt;
*C/Set++ v2.01 for OS/2 (1993)&lt;br /&gt;
*VisualAge C++ for OS/2, version 3.0&lt;br /&gt;
*VisualAge for C++ for Windows, version 3.5&lt;br /&gt;
*C and C++ Compilers for OS/2, AIX, and for [[Windows NT]], version 3.6&lt;br /&gt;
*C and C++ Compilers for OS/2 and Windows, version 3.65 (1998?)&lt;br /&gt;
*VisualAge C++ Professional for OS/2 and [[Windows NT 4.0|Windows NT, version 4.0]] (1998)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
The most widely recognized example of a simple application that uses the IOC is [[hello world program|hello world]]:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;amp;lt;iframe.hpp&amp;amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     IFrameWindow frame (&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
     frame.showModally();&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other examples of commonly used IOC classes and methods include:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;amp;lt;istring.hpp&amp;amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 IString someText (&amp;quot;hello world&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #include &amp;amp;lt;icmdhdr.hpp&amp;amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 virtual Boolean MyHandler::command (ICommandEvent &amp;amp;event);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
#{{Note|ibmwithdrawal}} [http://www.ibm.com/Search/?q=901-013 IBM&amp;#039;s Withdrawal Announcement #901-013] (announced on January 23, 2001, effective on April 27, 2001)&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*news://ibm.software.vacpp.openclass&lt;br /&gt;
*{{ISBN|0-442-01795-2}} (C++ Class Library: Power GUI Programming with CSet++)&lt;br /&gt;
*{{ISBN|0-471-16482-8}} (Power GUI Programming with VisualAge for C++)&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Ibm Open Class}}&lt;br /&gt;
[[Category:IBM software|Open Class]]&lt;br /&gt;
[[Category:OS/2 software]]&lt;br /&gt;
[[Category:Windows software]]&lt;br /&gt;
[[Category:1993 software]]&lt;br /&gt;
[[Category:C++ libraries]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Compu-lang-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Akira625</name></author>
	</entry>
</feed>