Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

The modern C++ library in version 2

&pagelevel(4)&pagelevel

This C++ library can only be used in the language modes C++ 2017 and C++ 2020. This library includes the following interfaces (based on the chapters of the C++ standard of 2020):

  • some concept declarations (Chapter 18),

  • Some auxiliary classes (Chapter 20), i.a. Allocator, function objects, smart pointer, pairs, tuples and more.

  • String classes (Chapter 21), especially a string of char elements that can handle EBCDIC well,

  • Container classes (Chapter 22), especially bitset, deque, queue, vector, list, map, multimap, set ,

  • Iterators (chapter 23),
  • range classes (Chapter 24),
  • generic algorithms (Chapter 25), i.a. search, sort, minimum, maximum, partition, permute,

  • numeric classes (Chapter 26), including complex numbers or arithmetic-value arrays,

  • classes for time and calendar (Chapter 27),
  • Classes for treatment of locale (Chapter 28),

  • Input and Output (Chapter 29), in this library the implementation is template-based,

  • regular expressions (chapter 30).

The classes for atomic operations (Chapter 31) and threads (Chapter 32) are not offered.

The include files for the interfaces mentioned above are contained in the library SYSLIB.CRTE.CXX02, the modules in the library SYSLNK.CRTE.CXX02.

The interface of the C++ library is defined in namespace std. References to the library should use this namesspace. The implementation is in namespace std::__CXX02.

Another component of the C ++ library are the include files listed below (also contained in SYSLIB.CRTE.CXX02), in which all ANSI C library functions are defined in the namespace std

The names of these include files are derived from the names of the ANSI C include files as follows: The name is preceded by the letter c, the suffix .h is omitted.

<cassert>

<cinttypes>

<csetjmp>

<cstddef>

<ctgmath>

<cctype>

<ciso646>

<csignal>

<cstdint>

<ctime>

<cerrno>

<climits>

<cstdalign>

<cstdio>

<cuchar>

<cfenv>

<clocale>

<cstdarg>

<cstdlib><cwchar>
<cfloat><cmath><cstdbool><cstring><cwctype>

Using the library

Program development in BS2000 environment (SDF)

The library version 2 has to be selected with the MODIFY-LIBRARY-VERSION statement.

During compilation, the library SYSLIB.CRTE.CXX02 must be searched for standard includes. This is ensured if the option STD-INCLUDE-LIBRARY=*STANDARD-LIBRARY is specified in the MODIFY-INCLUDE-LIBRARY statement for the search for the standard includes (default).

The program must be linked with the BIND statement of the compiler. The specification RUNTIME-LANGUAGE = *CPLUSPLUS (MODE= *LATEST/*2017/*2020) is required in the MODIFY-BIND-PROPERTIES statement. The default specification is *LATEST.

For more details see "MODIFY-BIND-PROPERTIES".

Program development in POSIX environment

To insert the include files and bind the modules, the CC command must specify the C++ 2017 mode or the C++ 2020 mode. C++ 2020 mode is the default for the CC command. The library version 2 has to be selected. For further details see the manual "POSIX Commands of the C/C++ Compiler" [1].

Documentation

The standard C++ library is documented in the common C++ literature.