std::shared_timed_mutex::lock

void lock(); (since C++14) Locks the mutex. If another thread has already locked the mutex, a call to lock will block execution until the lock is acquired. If lock is called by a thread that already owns the mutex in any mode (shared or exclusive), the behavior is undefined. Prior unlock() operation on the same mutex synchronizes-with (as defined in std::memory_order) this operation. Parameters (none). Return value (none). Exceptions Throws std::system_error when errors occur,

cmath

This header was originally in the C standard library as <math.h>. This header is part of the numeric library. Macro constants HUGE_VALFHUGE_VALHUGE_VALL (C++11)(C++11) indicates the overflow value for float, double and long double respectively (macro constant) INFINITY (C++11) evaluates to positive infinity or the value guaranteed to overflow a float (macro constant) NAN (C++11) evaluates to a quiet NaN of type float (macro constant) math_errhandlingMATH_ERRNOMA

std::multiset::multiset

(1) explicit multiset( const Compare& comp = Compare(), const Allocator& alloc = Allocator() ); (until C++14) multiset() : multiset( Compare() ) {} explicit multiset( const Compare& comp, const Allocator& alloc = Allocator() ); (since C++14) explicit multiset( const Allocator& alloc ); (1) (since C++11) (2) template< class InputIterator > multiset( InputIterator first, InputIterator last, const Comp

std::strstreambuf::freeze

void freeze( bool freezefl = true ); If the buffer uses dynamic allocation, sets the frozen status of the stream to freezefl. While the stream is frozen, overflow() will not reallocate the buffer and the destructor will not deallocate the buffer (thereby causing a memory leak). Parameters freezefl - new value to set the freeze status to Return value (none). Notes Every call to str() freezes the stream to preserve the validity of the pointer it returns. To allow the dest

std::bad_alloc

Defined in header <new> class bad_alloc; std::bad_alloc is the type of the object thrown as exceptions by the allocation functions to report failure to allocate storage. Inheritance diagram. Member functions (constructor) constructs the bad_alloc object (public member function) operator= replaces a bad_alloc object (public member function) what returns explanatory string (public member function) std::bad_alloc::bad_alloc bad_alloc(); Con

while loop

Executes a statement repeatedly, until the value of condition becomes false. The test takes place before each iteration. Syntax attr(optional) while ( condition ) statement attr(C++11) - any number of attributes condition - any expression which is contextually convertible to bool or a declaration of a single variable with a brace-or-equals initializer. This expression is evaluated before each iteration, and if it yields false, the loop is exited. If this is a declaration,

aggregate initialization

Initializes an aggregate from braced-init-list. Syntax T object = {arg1, arg2, ...}; (1) T object {arg1, arg2, ...}; (2) (since C++11) Explanation Aggregate initialization is a form of list-initialization, which initializes aggregates. An aggregate is an object of the type that is one of the following. array type class type (typically, struct or union), that has no private or protected non-static data members no user-provided constructors (explicitly defaulted or dele

std::uniform_real_distribution

Defined in header <random> template< class RealType = double > class uniform_real_distribution; (since C++11) Produces random floating-point values i, uniformly distributed on the interval [a, b), that is, distributed according to the probability function: P(i|a,b) = 1b − a . std::uniform_real_distribution satisfies all requirements of RandomNumberDistribution. Template parameters RealType - The result type generated by the generator. The effect is undefi

std::indirect_array::operators

void operator+=( const std::valarray<T>& other ); void operator-=( const std::valarray<T>& other ); void operator*=( const std::valarray<T>& other ); void operator/=( const std::valarray<T>& other ); void operator%=( const std::valarray<T>& other ); void operator&=( const std::valarray<T>& other ); void operator|=( const std::valarray<T>& other ); void operator^=( const std::vala

operator overloading

Customizes the C++ operators for operands of user-defined types. Syntax Overloaded operators are functions with special function names: operator op (1) operator type (2) operator new operator new [] (3) operator delete operator delete [] (4) operator "" suffix-identifier (5) (since C++11) op - any of the following 38 operators:+ - * / % ˆ & | ~ ! = < > += -= *= /= %= ˆ= &= |= << >> >>= <<= == != <= >= &&