Document modern C++ using unit tests
lambda [] (int x) [=] mutable [&] [&x, y] -> type [=, &x] [&, x] [this] (auto x) (x = value) callback type deduction auto decltype decltype(auto) range-based for loop for (auto v : r) (const auto& v : r) (auto& v : r) move symantics rvalue references move forward special member functions class members delegating constructors default functions deleted functions explicit virtual overrides final specifier smart pointers nullptr unique_ptr shared_ptr weak_ptr literals binary user-defined std-user-defined digit separators compile-time static assertions constexpr templates template aliases variadic templates
utility types any optional variant tuple string_view structured bindings data members arrays tuple range loop tie features if initializer switch initializer lambda capture of *this constexpr lambda class template argument deduction
thread running traits propogate exception join detach get_id native_handle this_thread mutex lock_guard scoped_lock shared_mutex-shared_lock-unique_lock conditional variable wait-notify_one
non modifying adjacent_find all_of(C++11) any_of(C++11) count count_if equal find find_first_of find_if find_if_not find_end for_each for_each_n(C++17) mismatch none_of(C++11) search search_n modifying copy copy_backward copy_if(C++11) copy_n(C++11) fill fill_n generate generate_n iter_swap move(C++11) move_backward(C++11) remove remove_if remove_copy remove_copy_if replace replace_if replace_copy replace_copy_if reverse reverse_copy rotate sample(C++17) shuffle(C++11) swap swap_ranges transform unique unique_copy partitioning is_partitioned(C++11) partition partition_copy(C++11) partition_point(C++11) stable_partition sorting is_sorted(C++11) is_sorted_until(C++11) nth_element partial_sort partial_sort_copy sort stable_sort set operations includes inplace_merge merge set_difference set_intersecion set_symmetric_difference set_union heap operations is_heap(C++11) is_heap_until(C++11) make_heap push_heap pop_heap sort_heap min max clamp(C++17) max max_element min min_element minmax(C++11) minmax_element(C++11) permutation is_permutation(C++11) lexicographical_compare next_permutation prev_permutation numeric operations accumulate adjacent_difference inner_product iota 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)
adaptors back_inserter front_inserter inserter make_move_iterator make_reverse_iterator operations advance distance next prev stream iterators istream_iterator istreambuf_iterator ostream_iterator ostreambuf_iterator
input functions operator >> gcount get getline std::getline ignore peek putback read readsome unget miscellaneous tellg seekg sentry sync istringstream ctor opearator= swap rdbuf str ifstream ctor operator= swap rdbuf is_open open close
output functions operator << put write miscellaneous tellp seekp sentry flush ostringstream ctor opearator= swap rdbuf str ofstream ctor operator= swap rdbuf is_open open close
adjust left right internal setfill setw floating-point showpoint noshowpoint fixed scientific hexfloat defaultfloat setprecision numeric boolalpha noboolalpha showbase noshowbase showpos noshowpos uppercase nouppercase hex oct dec setbase time/money put_money get_money put_time get_time flush unitbuf nounitbuf flush endl white space skipws noskipws ws char ends quoted