fold expression

Reduces (folds) a parameter pack over a binary operator. Syntax ( pack op ... ) (1) (since C++17) ( ... op pack ) (2) (since C++17) ( pack op ... op init ) (3) (since C++17) ( init op ... op pack ) (4) (since C++17) 1) unary right fold 2) unary left fold 3) binary right fold 4) binary left fold op - any of the following 32 binary operators: + - * / % ^ & | = < > << >> += -= *= /= %= ^= &= |= <<= >>= == != <= >= &a

std::set::begin

iterator begin(); const_iterator begin() const; const_iterator cbegin() const; (since C++11) Returns an iterator to the first element of the container. If the container is empty, the returned iterator will be equal to end(). Parameters (none). Return value Iterator to the first element. Exceptions (none) (until C++11) noexcept specification: noexcept (since C++11) Complexity Constant. Example See also end cend returns an iterator to the end (publ

std::raw_storage_iterator::raw_storage_iterator

explicit raw_storage_iterator( OutputIt it ); Initializes the iterator to point to the same value as it points. Parameters it - location to point to

std::collate

Defined in header <locale> template< class CharT > class collate; Class std::collate encapsulates locale-specific collation (comparison) and hashing of strings. This facet is used by std::basic_regex and can be applied, by means of std::locale::operator(), directly to all standard algorithms that expect a string comparison predicate. Inheritance diagram. Two standalone (locale-independent) specializations are provided by the standard library: Defined in header

std::numeric_limits::round_error

static T round_error(); (until C++11) static constexpr T round_error(); (since C++11) Returns the largest possible rounding error in ULPs (units in the last place) as defined by ISO 10967, which can vary from 0.5 (rounding to the nearest digit) to 1.0 (rounding to zero or to infinity). It is only meaningful if std::numeric_limits<T>::is_integer == false. Return value T std::numeric_limits<T>::round_error() /* non-specialized */ T(); bool false char ​0

std::unique_lock::unique_lock

unique_lock(); (1) (since C++11) unique_lock( unique_lock&& other ); (2) (since C++11) explicit unique_lock( mutex_type& m ); (3) (since C++11) unique_lock( mutex_type& m, std::defer_lock_t t ); (4) (since C++11) unique_lock( mutex_type& m, std::try_to_lock_t t ); (5) (since C++11) unique_lock( mutex_type& m, std::adopt_lock_t t ); (6) (since C++11) template< class Rep, class Period > unique_lock( mutex_type& m,

std::chrono::time_point::operators (operator-)

time_point& operator+=( const duration& d ); (1) (since C++11) time_point& operator-=( const duration& d ); (2) (since C++11) Modifies the time point by the given duration. 1) Applies the offset d to pt. Effectively, d is added to the internally stored duration d_ as d_ += d. 2) Applies the offset d to pt in negative direction. Effectively, d is subtracted from internally stored duration d_ as d_ -= d. Parameters d - a time offset to apply Return val

std::stof

Defined in header <string> float stof( const std::string& str, std::size_t* pos = 0 ); float stof( const std::wstring& str, std::size_t* pos = 0 ); (1) (since C++11) double stod( const std::string& str, std::size_t* pos = 0 ); double stod( const std::wstring& str, std::size_t* pos = 0 ); (2) (since C++11) long double stold( const std::string& str, std::size_t* pos = 0 ); long double stold( const std::wstring& str, std::size

static_cast conversion

Converts between types using a combination of implicit and user-defined conversions. Syntax static_cast < new_type > ( expression ) Returns a value of type new_type. Explanation Only the following conversions can be done with static_cast, except when such conversions would cast away constness or volatility. 1) If a temporary object of type new_type can be declared and initialized with expression, as by new_type Temp(expression);, which may involve implicit conversions, a ca

Phases of translation

The C++ source file is processed by the compiler as if the following phases take place, in this exact order: Phase 1 1) The individual bytes of the source code file are mapped (in implementation defined manner) to the characters of the basic source character set. In particular, OS-dependent end-of-line indicators are replaced by newline characters. The basic source character set consists of 96 characters: a) 5 whitespace characters (space, horizontal tab, vertical tab, form feed, new-line)