[support.general]

# 17 Language support library [[support]](./#support)

## 17.1 General [support.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6)

This Clause describes the function signatures that are called
implicitly, and the types of objects generated implicitly, during the execution
of some C++ programs[.](#1.sentence-1)

It also describes the headers that declare these function
signatures and define any related types[.](#1.sentence-2)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L13)

The following subclauses describe
common type definitions used throughout the library,
characteristics of the predefined types,
functions supporting start and termination of a C++ program,
support for dynamic memory management,
support for dynamic type identification,
support for contract-violation handling,
support for exception processing, support for initializer lists,
and other runtime support,
as summarized in Table [42](#tab:support.summary "Table 42: Language support library summary")[.](#2.sentence-1)

Table [42](#tab:support.summary) — Language support library summary [[tab:support.summary]](./tab:support.summary)  

| [ð](#tab:support.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [ð](#tab:support.summary-row-2)<br>[[support.types]](support.types "17.2 Common definitions") | Common definitions | <cstddef>, <cstdlib> |
| [ð](#tab:support.summary-row-3)<br>[[support.limits]](support.limits "17.3 Implementation properties") | Implementation properties | <cfloat>, <climits>, <limits>, <version> |
| [ð](#tab:support.summary-row-4)<br>[[support.arith.types]](support.arith.types "17.4 Arithmetic types") | Arithmetic types | <cstdint>, <stdfloat> |
| [ð](#tab:support.summary-row-5)<br>[[support.start.term]](support.start.term "17.5 Startup and termination") | Start and termination | <cstdlib> |
| [ð](#tab:support.summary-row-6)<br>[[support.dynamic]](support.dynamic "17.6 Dynamic memory management") | Dynamic memory management | <new> |
| [ð](#tab:support.summary-row-7)<br>[[support.rtti]](support.rtti "17.7 Type identification") | Type identification | <typeinfo>, <typeindex> |
| [ð](#tab:support.summary-row-8)<br>[[support.srcloc]](support.srcloc "17.8 Source location") | Source location | <source_location> |
| [ð](#tab:support.summary-row-9)<br>[[support.exception]](support.exception "17.9 Exception handling") | Exception handling | <exception> |
| [ð](#tab:support.summary-row-10)<br>[[support.contract]](support.contract "17.10 Contract-violation handling") | Contract-violation handling | <contracts> |
| [ð](#tab:support.summary-row-11)<br>[[support.initlist]](support.initlist "17.11 Initializer lists") | Initializer lists | <initializer_list> |
| [ð](#tab:support.summary-row-12)<br>[[cmp]](cmp "17.12 Comparisons") | Comparisons | <compare> |
| [ð](#tab:support.summary-row-13)<br>[[support.coroutine]](support.coroutine "17.13 Coroutines") | Coroutines | <coroutine> |
| [ð](#tab:support.summary-row-14)<br>[[support.runtime]](support.runtime "17.14 Other runtime support") | Other runtime support | <csetjmp>, <csignal>, <cstdarg>, <cstdlib> |
