std::unordered_multimap::max_load_factor

float max_load_factor() const; (1) (since C++11) void max_load_factor( float ml ); (2) (since C++11) Manages the maximum load factor (number of elements per bucket). The container automatically increases the number of buckets if the load factor exceeds this threshold. 1) Returns current maximum load factor. 2) Sets the maximum load factor to ml. Parameters ml - new maximum load factor setting Return value 1) current maximum load factor. 2) none. Complexity Constan

Language linkage

Provides for linkage between modules written in different programming languages. extern string-literal { declaration-seq(optional) } (1) extern string-literal declaration (2) 1) Applies the language specification string-literal to all function types, function names with external linkage and variables with external linkage declared in declaration-seq 2) Applies the language specification string-literal to a single declaration or definition. string-literal - The name of the

Date and time utilities

C++ includes support for two types of time manipulation: The chrono library, a flexible collection of types that track time with varying degrees of precision (e.g. std::chrono::time_point). C-style date and time library (e.g. std::time) chrono library The chrono library defines three main types (durations, clocks, and time points) as well as utility functions and common typedefs. Duration A duration consists of a span of time, defined as some number of ticks of some time unit. For e

std::shared_lock

Defined in header <shared_mutex> template< class Mutex > class shared_lock; (since C++14) The class shared_lock is a general-purpose shared mutex ownership wrapper allowing deferred locking, timed locking and transfer of lock ownership. Locking a shared_lock locks the associated shared mutex in shared mode (to lock it in exclusive mode, std::unique_lock can be used). The shared_lock class is movable, but not copyable -- it meets the requirements of MoveConstructible a

std::iterator_traits

Defined in header <iterator> template< class Iterator> struct iterator_traits; template< class T > struct iterator_traits<T*>; template< class T > struct iterator_traits<const T*>; std::iterator_traits is the type trait class that provides uniform interface to the properties of iterator types. This makes it possible to implement algorithms only in terms of iterators. The class defines the following types that correspond to the typed

Main function

A program shall contain a global function named main, which is the designated start of the program. int main () { body } (1) int main (int argc, char *argv[]) { body } (2) int main (int argc, char *argv[] , other_parameters ) { body } (3) argc - Non-negative value representing the number of arguments passed to the program from the environment in which the program is run. argv - Pointer to the first element of an array of pointers to null-terminated multibyte st

va_arg

Defined in header <cstdarg> T va_arg( va_list ap, T ); The va_arg macro expands to an expression of type T that corresponds to the next parameter from the va_list ap. Prior to calling va_arg, ap must be initialized by a call to either va_start or va_copy, with no intervening call to va_end. Each invocation of the va_arg macro modifies ap to point to the next variable argument. If va_arg is called when there are no more arguments in ap, or if the type of the next argument in

std::fseek

Defined in header <cstdio> int fseek( std::FILE* stream, long offset, int origin ); Sets the file position indicator for the file stream stream. If the stream is open in binary mode, the new position is exactly offset bytes measured from the beginning of the file if origin is SEEK_SET, from the current file position if origin is SEEK_CUR, and from the end of the file if origin is SEEK_END. Binary streams are not required to support SEEK_END, in particular if additional null

std::round

Defined in header <cmath> float round( float arg ); (1) (since C++11) double round( double arg ); (2) (since C++11) long double round( long double arg ); (3) (since C++11) double round( Integral arg ); (4) (since C++11) long lround( float arg ); (5) (since C++11) long lround( double arg ); (6) (since C++11) long lround( long double arg ); (7) (since C++11) long lround( Integral arg ); (8) (since C++11) long long llround( float arg );

Comparison operators

Compares the arguments. Operator name Syntax Over​load​able Prototype examples (for class T) As member function As free (namespace) function equal to a == b Yes bool T::operator ==(const T2 &b) const; bool operator ==(const T &a, const T2 &b); not equal to a != b Yes bool T::operator !=(const T2 &b) const; bool operator !=(const T &a, const T2 &b); less than a < b Yes bool T::operator <(const T2 &b) const; bool operator <