ASCII chart Compiler support
Language
Basic concepts C++ keywords Preprocessor Expressions Declaration Initialization Functions Statements Classes Templates Exceptions
Headers
Named requirements
Concepts library
Dynamic memory management
allocator
unique_ptr shared_ptr weak_ptr owner_less enable_shared_from_this default_delete allocator_traits pointer_safety scoped_allocator_adaptor
polymorphic_allocator memory_resource pool_options synchronized_pool_resource unsynchronized_pool_resource monotonic_buffer_resource
Error handling
exception exception_ptr (C++11) nested_exception (C++11) logic_error invalid_argument domain_error length_error out_of_range runtime_error range_error overflow_error underflow_error error_category (C++11) error_condition (C++11) errc (C++11) error_code (C++11) system_error (C++11)
Function objects
function (C++11) default_searcher (C++17) boyer_moore_searcher (C++17) boyer_moore_horspool_searcher (C++17) reference_wrapper (C++11) plus – minus multiplies – divides modulus negate equal_to – not_equal_to greater – greater_equal less – less_equal logical_and logical_or logical_not bit_and bit_or bit_xor bit_not (C++14)
Type support
Fixed width integer types (C++11) byte (C++17) numeric_limits type_info type_index (C++11) integral_constant (C++11) endian (C++20)
Containers library
span (C++20) array (C++11) vector − vector<bool> deque list − forward_list (C++11) set − multiset map − multimap unordered_set (C++11) unordered_multiset (C++11) unordered_map (C++11) unordered_multimap (C++11) stack − queue − priority_queue
Iterators library
iterator_traits reverse_iterator move_iterator (C++11) back_insert_iterator front_insert_iterator insert_iterator istream_iterator ostream_iterator istreambuf_iterator ostreambuf_iterator
Input/output library
basic_streambuf basic_filebuf basic_stringbuf basic_syncbuf (C++20) ios_base basic_ios basic_istream basic_ostream basic_osyncstream (C++20) basic_iostream basic_ifstream basic_ofstream basic_fstream basic_istringstream basic_ostringstream basic_stringstream io_errc I/O manipulators C-style I/O
Numerics library
Common mathematical functions Special mathematical functions (C++17) Pseudo-random number generation Compile-time rational arithmetic (C++11) Bit manipulation (C++20) complex valarray
Utilities library
Program utilities Moving functions Type operations Relational comparators (C++20) String conversions (C++17) hash (C++11) bitset initializer_list (C++11) pair − tuple (C++11) integer_sequence (C++14) optional (C++17) − any (C++17) variant (C++17)
Date and time (C++11)
duration − time_point system_clock − steady_clock high_resolution_clock
utc_clock − tai_clock gps_clock − file_clock local_t clock_time_conversion time_of_day tzdb − tzdb_list sys_info − local_info time_zone zoned_traits zoned_time leap link nonexistent_local_time ambiguous_local_time
Strings library
char_traits basic_string basic_string_view (C++17) Null-terminated byte strings Null-terminated multibyte strings Null-terminated wide strings
Regular expressions library (C++11)
basic_regex sub_match match_results regex_iterator regex_token_iterator regex_error regex_traits
Localizations library
locale codecvt_base codecvt_byname codecvt messages_base messages_byname messages ctype_base ctype_byname ctype – ctype<char> time_base time_get – time_put time_get_byname – time_put_byname money_base money_get – money_put moneypunct moneypunct_byname num_get – num_put numpunct numpunct_byname collate collate_byname
Thread support library (C++11)
thread mutex timed_mutex recursive_mutex recursive_timed_mutex shared_mutex (C++17) shared_timed_mutex (C++14) lock_guard scoped_lock (C++17) unique_lock shared_lock (C++14) once_flag condition_variable condition_variable_any promise packaged_task future shared_future async launch future_status future_error future_category future_errc
Atomic operations library (C++11)
atomic atomic_flag memory_order
Filesystem library (C++17)
path filesystem_error directory_entry directory_iterator recursive_directory_iterator file_status space_info file_type perms perm_options copy_options directory_options file_time_type
Algorithms library
sequenced_policy parallel_policy parallel_unsequenced_policy seq – par – par_unseq
all_of() (C++11) – any_of() (C++11) – none_of() (C++11) for_each() – for_each_n() (C++17) count() – count_if() mismatch() find() – find_if() – find_if_not() (C++11) find_end() find_first_of() adjacent_find() search() – search_n()
copy() – copy_n() (C++11) – copy_backward() copy_if() (C++11) move() (C++11) – move_backward() (C++11) fill() – fill_n() transform() generate() – generate_n() remove() – remove_if() remove_copy() – remove_copy_if() replace() – replace_if() replace_copy() – replace_copy_if() swap() – iter_swap() swap_ranges() reverse() – reverse_copy() rotate() – rotate_copy() random_shuffle() (until C++17) – shuffle() (C++11) sample() (C++17) unique() – unique_copy()
is_partitioned() (C++11) partition() – partition_copy() (C++11) stable_partition() partition_point() (C++11)
is_sorted() (C++11) – is_sorted_until() (C++11) sort() – stable_sort() partial_sort() – partial_sort_copy() nth_element()
lower_bound() – upper_bound() binary_search() equal_range()
merge() – inplace_merge() includes() set_difference() set_intersection() set_symmetric_difference() set_union()
is_heap() (C++11) – is_heap_until() (C++11) make_heap() – sort_heap() push_heap() – pop_heap()
max() – max_element() min() – min_element() minmax() (C++11) – minmax_element() (C++11) clamp() (C++17)
equal() lexicographical_compare() compare_3way() (C++20) lexicographical_compare_3way() (C++20)
is_permutation() (C++11) next_permutation() prev_permutation()
iota() (C++11) accumulate() inner_product() adjacent_difference() partial_sum() reduce() (C++17) exclusive_scan() (C++17) inclusive_scan() (C++17) transform_reduce() (C++17) transform_exclusive_scan() (C++17) transform_inclusive_scan() (C++17)
Technical specifications
Standard library extensions v2 (library fundamentals TS v2)
propagate_const observer_ptr source_location ostream_joiner make_array to_array randint reseed sample shuffle detection idiom uniform container erasure
Concurrency library extensions (concurrency TS)
future shared_future promise packaged_task latch barrier flex_barrier
Transactional Memory (TM TS)
Feature Test Recommendations
Ranges (ranges TS)
Algorithms
Ranges library
Range − SizedRange View BoundedRange InputRange OutputRange ForwardRange BidirectionalRange RandomAccessRange iterator_t sentinel_t
Utility library
swap and exchange TagSpecifier – TaggedType tagged – tagged_pair – tagged_tuple
equal_to – not_equal_to greater – greater_equal less – less_equal less – less_equal identity
iter_move and iter_swap Iterator operations indirect_result_of projected difference_type – value_type iterator_category – iterator_traits reference_t – rvalue_reference_t iter_common_reference_t common_iterator default_sentinel unreachable counted_iterator dangling – safe_iterator_t move_iterator – move_sentinel reverse_iterator back_insert_iterator front_insert_iterator insert_iterator istream_iterator ostream_iterator istreambuf_iterator ostreambuf_iterator
External Links − Non-ANSI/ISO Libraries − Index − std Symbol Index