Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Die C++-V3-Bibliothek Tools.h++

&pagelevel(3)&pagelevel

Die C++-V3-Bibliothek Tools.h++ V7.0 kann nur im C++ V3-Modus des Compilers genutzt werden.

Sie bietet ein breites Spektrum an „Foundation Classes“:

  • String-Klassen mit pattern-matching Mechanismen

  • Klassen zur Handhabung von Datum und Uhrzeit

  • virtuelle Ströme

  • Datei- und Dateimanager-Klassen

  • Containerklassen (Collectable) mit der Möglichkeit zur Realisierung von Persistenz und zugehörigen Iterator-Klassen:

    • Smalltalk-ähnliche Containerklassen (ohne Template-Benutzung)

    • Template-Containerklassen zur Speicherung von Werten (RWTVal...)

    • Template-Containerklassen zur Speicherung von Zeigern (RWTPtr...)

  • Klassen zur Internationalisierung

Die Include-Dateien für die o.g. Schnittstellen sind in der Bibliothek SYSLIB.CRTE enthalten, die Module in der Bibliothek SYSLNK.CRTE.TOOLS.

Benutzen der Bibliothek

Programmentwicklung in BS2000-Umgebung (SDF)

Beim Übersetzen muss die Bibliothek SYSLIB.CRTE nach Standard-Includes durchsucht werden. Dies ist sichergestellt, wenn in der MODIFY-INCLUDE-LIBRARY-Anweisung für die Suche nach den Standard-Includes die Option STD-INCLUDE-LIBRARY =*STANDARD-LIBRARY angegeben wird (Voreinstellung).

Das Programm muss mit der BIND-Anweisung des Compilers gebunden werden.
In der MODIFY-BIND-PROPERTIES-Anweisung sind folgende Angaben erforderlich:
RUNTIME-LANGUAGE=*CPLUSPLUS(MODE=*V3-COMPATIBLE) und TOOLSLIB=*YES.

Für weitere Einzelheiten siehe "MODIFY-BIND-PROPERTIES".

Programmentwicklung in POSIX-Umgebung

Zum Einfügen der Include-Dateien und zum Binden der Module muss im CC-Kommando einer der C++ V3 Modus angegeben werden (-X V3-COMPATIBLE).

Beim Binden des Programms muss zusätzlich die Option -l RWtools angegeben werden. Für weitere Einzelheiten siehe Handbuch „POSIX-Kommandos des C/C++-Compilers“ [1].

Dokumentation

Die C++-V3-Bibliothek Tools.h ist in folgenden Handbüchern ausführlich beschrieben:
„Tools.h++ V7.0, User‘s Guide“ und
„Tools.h++ V7.0, Class Reference“

Hinweise zur Dokumentation

Um die Bibliothek tools.h++ unabhängig von inkompatiblen künftigen Versionen der Standard-Bibliothek zu machen, setzt sie nicht auf die Standardbibliothek auf (d.h. das define RW_NO_STL wurde im zentralen Konfigurationsheader rw/compiler.h gesetzt).
Bestimmte Klassen sind daher nicht oder nur eingeschränkt verfügbar. Diese sind im Handbuch „Tools.h++ Class Reference“ [8] entsprechend gekennzeichnet, z.B.
„RWTValMap requires the Standard C++ Library.“
Bei Benutzung der zugehörigen Header wird eine #error-Fehlermeldung ausgegeben, wie z.B.

„Cannot include header if RW_NO_STL macro is defined for your compiler“

oder

„You must have both Standard Library and Exceptions to use this class.“

Einige Klassen realisieren Funktionen, die an bestimmte Systeme gebunden sind:

header rw/xdrstrea.h; Klasse RWXDRistream und RWXDRostream

Diese Klassen sind im BS2000/POSIX nutzbar, im BS2000 native aber nicht.

header rw/winstrea.h; Klasse RWCLIPstreambuf

Im Handbuch „Tools.h++ Class Reference“ [8] steht dazu:
„Class RWCLIPstreambuf is a specialized streambuf that gets and puts sequences of characters to Microsoft Windows global memory. It can be used to exchange data through Windows clipboard facility.“
Da es im BS2000 weder das Konzept eines „Microsoft Windows global memory“ noch das eines „Windows clipboard“ gibt, steht diese Klasse hier nicht zur Verfügung.