In the 1990s, IBM had a cross-platform C++ class library which they shipped with the IBM Visual Age C++ compiler suite.
Over the decade or so it was in use, the class library had several names, including:
NOCL is a modern C++ class library, where the 'N' stands for either 'New' or 'Not'. The goal behind NOCL is not to re-create IBM's C++ class library, but to create a set of usable, convenient, and modern C++ classes where some of the naming, structure, class hierarchy and ease-of-use happens to be inspired from the original OCL.
The classes are mostly GUI in nature (windows, buttons, entryfields, ...) and the intent is to provide basic functionality that simple GUI applications on Windows and Linux might be expected to support.
Originally, the thought was that native components would be used in NOCL for each supported platform. The use of Gtk+ as a foundation was not intentional nor planned, and initially was done for test purposes. But NOCL now heavily relies on Gtk+3, and both the class hierarchy and methods available in NOCL are derived in large part from Gtk+3's 'C' interface. This may or may not change in the future, though for now the Gtk+ provides a great cross-platform toolkit which NOCL will continue to use. Note that NOCL is not meant to replace GTKMM, the C++ bindings for GTK+; instead, NOCL is a different option available to those wanting to use C++ to write GUI applications.
NOCL uses the standard 3-clause BSD license, meaning you are free to use it in any project, regardless of whether the project is free, open-source, closed-source, commercial, etc. Please see License for details.