C++ header files
This section lists the C++ header files:
The header files that constitute the Standard C++ library.
The C++ C header files
The C++ header files that provide the resources from the C library.
The C++ library header files
This table lists the header files that can be used in C++:
Header file | Usage |
|---|---|
| Defines several common operations on containers and other sequences |
| Adding support for the |
| Adding support for the array sequencer container |
| Adding support for atomic operations Atomic operations are available in cores where the instruction set supports them. Note that with Libc++, the header is still C++17 compliant, and C++20 atomic features are not available. |
| Adding support for the barrier synchronization primitive. Requires Libc++. This functionality is not supported. |
| Bit-manipulation functions. Requires Libc++. |
| Defining a container with fixed-sized sequences of bits |
| Adding support for the |
| Adding support for time utilities. Note that the |
| Adding support for conversions between encodings |
| Functionality related to the three-way comparison |
| Defining a class that supports complex arithmetic |
| Predefined core language concepts, constraints imposable on template parameters. Requires Libc++. |
| Adding support for thread condition variables. This functionality is not supported. |
| A deque sequence container |
| Defining several functions that control exception handling |
| Defines parallel execution policies. Requires Libc++. This functionality is not supported. |
| Safe and extensible string formatting. Requires Libc++. This functionality is not supported. |
| Adding support for the forward list sequence container |
| Defining several I/O stream classes that manipulate external files |
| Defines several function objects |
| Adding support for passing function information between threads This functionality is not supported. |
| A map associative container, based on a hash algorithm. This is a C++14 header—it is not available in Libc++. |
| A set associative container, based on a hash algorithm. This is a C++14 header—it is not available in Libc++. |
| Adding support for the |
| Declaring several I/O stream manipulators that take an argument |
| Defining the class that serves as the base for many I/O streams classes |
| Declaring several I/O stream classes before they are necessarily defined |
| Declaring the I/O stream objects that manipulate the standard streams |
| Defining the class that performs extractions |
| Defines common iterators, and operations on iterators |
| Adding support for the latch synchronization primitive. Requires Libc++. This functionality is not supported. |
| Defining numerical values |
| A doubly-linked list sequence container |
| Adapting to different cultural conventions |
| A map associative container |
| Defines facilities for managing memory |
| Adds support for customizing the allocation and deallocation of memory |
| Adding support for the data race protection object This functionality is not supported. |
| Declaring several functions that allocate and free storage |
| Mathematical constants. Requires Libc++. |
| Performs generalized numeric operations on sequences |
| Adding support for the |
| Defining the class that performs insertions |
| A queue sequence container |
| Adding support for random numbers |
| Composable transformations on data collections. Requires Libc++. |
| Adding support for compile-time rational arithmetic |
| Adding support for regular expressions |
| Adding support for the memory resource |
| Adding support for the semaphore synchronization primitive. Requires Libc++. This functionality is not supported. |
| A set associative container |
| Adding support for the data race protection object This functionality is not supported. |
| A singly-linked list sequence container. This is a C++14 header—it is not available in Libc++. |
| A class that encapsulates information related to the source code. Requires Libc++. |
| A light-weight non-owning view on to contiguous sequences. Requires Libc++. |
| Defining several I/O stream classes that manipulate string containers |
| A stack sequence container |
| Defining several classes useful for reporting exceptions |
| Adding support for the stop_token synchronization primitive. Requires Libc++. This functionality is not supported. |
| Defining classes that buffer I/O stream operations |
| Defining a class that implements a string container |
| Adding support for the |
| Defining several I/O stream classes that manipulate in-memory character sequences |
| Adds support for letting multiple threads safely write to the same stream. Requires Libc++. This functionality is not supported. |
| Adding support for global error reporting |
| Adding support for multiple threads of execution. This functionality is not supported. |
| Adding support for the |
| Defining type information support |
| Adding support for type indexes |
| Adding support for traits on types |
| Adding support for the unordered map associative container |
| Adding support for the unordered set associative container |
| Defines several utility components |
| Defining varying length array container |
| Adding support for the |
| A vector sequence container |
| Defines library feature-test macros, which can be used to detect library support. Requires Libc++. |
Using Standard C libraries in C++
The C++ library works in conjunction with some of the header files from the Standard C library, sometimes with small alterations. The header files come in two variants—C compatibility headers and C headers—for example, cstdio and stdio.h. In general, the C compatibility variant puts all declared symbols in the global and std namespace, whereas the C variant, with a few exceptions, puts them in the global namespace only.
This table shows the C compatibility header files:
Header file | Usage |
|---|---|
| Enforcing assertions when functions execute |
| Computing common complex mathematical functions. The C compatibility header file |
| Classifying characters |
| Testing error codes reported by library functions |
| Floating-point exception flags |
| Testing floating-point type properties |
| Defining formatters for all types defined in |
| Alternative spellings. The C compatibility header file |
| Testing integer type properties |
| Adapting to different cultural conventions |
| Computing common mathematical functions |
| Executing non-local goto statements |
| Controlling various exceptional conditions |
| Handling alignment on data objects. The C compatibility header file |
| Accessing a varying number of arguments |
| Adds support for the |
| Defining several useful types and macros |
| Providing integer characteristics |
| Performing input and output |
| Performing a variety of operations |
| Manipulating several kinds of strings |
| Type-generic mathematical functions. The C compatibility header file |
| Converting between various time and date formats |
| Unicode functionality |
| Support for wide characters |
| Classifying wide characters |