Skip to main content

IAR Embedded Workbench for Arm 10.10.x

C++ header files

In this section:

This section lists the C++ header files:

  • The C++ library 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

algorithm

Defines several common operations on containers and other sequences

any

Adding support for the std::any class. Requires Libc++.

array

Adding support for the array sequencer container

atomic

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.

barrier

Adding support for the barrier synchronization primitive. Requires Libc++.

This functionality is not supported.

bit

Bit-manipulation functions. Requires Libc++.

bitset

Defining a container with fixed-sized sequences of bits

charconv

Adding support for the std::to_chars and std::from_chars routines. Requires Libc++.

chrono

Adding support for time utilities. Note that the steady_clock class is not available in Libc++.

codecvt

Adding support for conversions between encodings

compare

Functionality related to the three-way comparison <=>. Requires Libc++.

complex

Defining a class that supports complex arithmetic

concepts

Predefined core language concepts, constraints imposable on template parameters. Requires Libc++.

condition_variable

Adding support for thread condition variables.

This functionality is not supported.

deque

A deque sequence container

exception

Defining several functions that control exception handling

execution

Defines parallel execution policies. Requires Libc++.

This functionality is not supported.

format

Safe and extensible string formatting. Requires Libc++.

This functionality is not supported.

forward_list

Adding support for the forward list sequence container

fstream

Defining several I/O stream classes that manipulate external files

functional

Defines several function objects

future

Adding support for passing function information between threads

This functionality is not supported.

hash_map

A map associative container, based on a hash algorithm. This is a C++14 header—it is not available in Libc++.

hash_set

A set associative container, based on a hash algorithm. This is a C++14 header—it is not available in Libc++.

initializer_list

Adding support for the initializer_list class

iomanip

Declaring several I/O stream manipulators that take an argument

ios

Defining the class that serves as the base for many I/O streams classes

iosfwd

Declaring several I/O stream classes before they are necessarily defined

iostream

Declaring the I/O stream objects that manipulate the standard streams

istream

Defining the class that performs extractions

iterator

Defines common iterators, and operations on iterators

latch

Adding support for the latch synchronization primitive. Requires Libc++.

This functionality is not supported.

limits

Defining numerical values

list

A doubly-linked list sequence container

locale

Adapting to different cultural conventions

map

A map associative container

memory

Defines facilities for managing memory

memory_resource

Adds support for customizing the allocation and deallocation of memory

mutex

Adding support for the data race protection object mutex.

This functionality is not supported.

new

Declaring several functions that allocate and free storage

numbers

Mathematical constants. Requires Libc++.

numeric

Performs generalized numeric operations on sequences

optional

Adding support for the std::optional class template. Requires Libc++.

ostream

Defining the class that performs insertions

queue

A queue sequence container

random

Adding support for random numbers

ranges

Composable transformations on data collections. Requires Libc++.

ratio

Adding support for compile-time rational arithmetic

regex

Adding support for regular expressions

scoped_allocator

Adding support for the memory resource scoped_allocator_adaptor

semaphore

Adding support for the semaphore synchronization primitive. Requires Libc++.

This functionality is not supported.

set

A set associative container

shared_mutex

Adding support for the data race protection object shared_mutex.

This functionality is not supported.

slist

A singly-linked list sequence container. This is a C++14 header—it is not available in Libc++.

source_location

A class that encapsulates information related to the source code. Requires Libc++.

span

A light-weight non-owning view on to contiguous sequences. Requires Libc++.

sstream

Defining several I/O stream classes that manipulate string containers

stack

A stack sequence container

stdexcept

Defining several classes useful for reporting exceptions

stop_token

Adding support for the stop_token synchronization primitive. Requires Libc++.

This functionality is not supported.

streambuf

Defining classes that buffer I/O stream operations

string

Defining a class that implements a string container

string_view

Adding support for the std::basic_string_view class template. Requires Libc++.

strstream

Defining several I/O stream classes that manipulate in-memory character sequences

sync_stream

Adds support for letting multiple threads safely write to the same stream. Requires Libc++.

This functionality is not supported.

system_error

Adding support for global error reporting

thread

Adding support for multiple threads of execution.

This functionality is not supported.

tuple

Adding support for the tuple class

typeinfo

Defining type information support

typeindex

Adding support for type indexes

type_traits

Adding support for traits on types

unordered_map

Adding support for the unordered map associative container

unordered_set

Adding support for the unordered set associative container

utility

Defines several utility components

valarray

Defining varying length array container

variant

Adding support for the std::variant class template. Requires Libc++.

vector

A vector sequence container

version

Defines library feature-test macros, which can be used to detect library support. Requires Libc++.

Table 104. C++ header files


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

cassert

Enforcing assertions when functions execute

ccomplex

Computing common complex mathematical functions. The C compatibility header file ccomplex is no longer supported in C++20, but the C header file complex.h is still supported.

cctype

Classifying characters

cerrno

Testing error codes reported by library functions

cfenv

Floating-point exception flags

cfloat

Testing floating-point type properties

cinttypes

Defining formatters for all types defined in stdint.h

ciso646

Alternative spellings. The C compatibility header file ciso646 is no longer supported in C++20, but the C header file iso646.h is still supported.

climits

Testing integer type properties

clocale

Adapting to different cultural conventions

cmath

Computing common mathematical functions

csetjmp

Executing non-local goto statements

csignal

Controlling various exceptional conditions

cstdalign

Handling alignment on data objects. The C compatibility header file cstdalign is no longer supported in C++20, but the C header file stdalign.h is still supported.

cstdarg

Accessing a varying number of arguments

cstdbool

Adds support for the bool data type in C. The C compatibility header file cstdbool is no longer supported in C++20, but the C header file stdbool.h is still supported.

cstddef

Defining several useful types and macros

cstdint

Providing integer characteristics

cstdio

Performing input and output

cstdlib

Performing a variety of operations

cstring

Manipulating several kinds of strings

ctgmath

Type-generic mathematical functions. The C compatibility header file ctgmath is no longer supported in C++20, but the C header file tgmath.h is still supported.

ctime

Converting between various time and date formats

cuchar

Unicode functionality

cwchar

Support for wide characters

cwctype

Classifying wide characters

Table 105. C compatibity header files—DLIB