SharedMutex

The SharedMutex concept extends the Mutex concept to include shared lock ownership mode. Requirements Mutex Additionally, for object m of SharedMutex type supports another mode of ownership: shared. Multiple threads (or, more generally, execution agents) can simulataneously own this mutex in shared mode, but no thread may obtain shared ownership if there is a thread that owns it in exclusive mode and no thread may obtain exclusive ownership if there is a thread that owns it in shared mode

FormattedOutputFunction

Requirements A FormattedOutputFunction is a stream output function that performs the following: Constructs an object of type basic_ostream::sentry with automatic storage duration, which performs the following if eofbit or badbit are set on the output stream, sets the failbit as well, and if exceptions on failbit are enabled in this output stream's exception mask, throws ios_base::failure. flushes the tie()'d output stream, if applicable. Checks the status of the sentry by calling sent

std::locale::classic

Defined in header <locale> static const locale& classic(); Obtains a reference to the C++ locale that implements the classic "C" locale semantics. This locale, unlike the global locale, cannot be altered. Parameters none. Return value Returns a reference to the "C" locale. Notes Some of the standard-required facets, such as the UTF-8/UTF-32 conversion facet std::codecvt<char32_t, char, std::mbstate_t>, have no equivalents in the "C" locale, but they are n

ReversibleContainer

A ReversibleContainer is a Container that has iterators that meet the requirements of either BidirectionalIterator or RandomAccessIterator. Such iterators allow a ReversibleContainer to be iterated over in reverse. Requirements X Container type T Element type a, b Objects of type X Types expression return type conditions complexity X::reverse_iterator iterator type whose value type is T reverse_iterator<iterator> compile time X::const_reverse_iterator constant

SharedTimedMutex

The SharedTimedMutex concept extends the TimedMutex concept to include shared lock ownership mode. Requirements TimedMutex SharedMutex Additionally, for object m of SharedTimedMutex type supports timed shared operations: The expression m.try_lock_shared_for(duration) has the following properties Behaves as an atomic operation. Attempts to obtain shared ownership of the mutex within the duration specified by duration. If duration is less or equal duration.zero(), attempts to obtain

TrivialClock

The TrivialClock concept describes the requirements satisfied by all the clocks in the chrono library. Requirements For a type TC: The type must meet Clock requirements. The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of EqualityComparable, LessThanComparable, DefaultConstructible, CopyConstructible, CopyAssignable, Destructible, and NumericType. lvalues of the types TC::rep, TC::duration, and TC::time_point are Swappable. The function TC::now() does not t

NullablePointer

Specifies that the type is a pointer-like object which can be compared to std::nullptr_t objects. Requirements The type must meet all of the following concept requirements: EqualityComparable DefaultConstructible CopyConstructible CopyAssignable Destructible In addition, a value-initialized object of the type must produce a null value of that type. This null value shall only be equivalent to itself. Default initialization of the type may have an indeterminate value. An object of

UnformattedOutputFunction

Requirements A UnformattedOutputFunction is a stream output function that performs the following: Constructs an object of type basic_ostream::sentry with automatic storage duration, which performs the following if eofbit or badbit are set on the output stream, sets the failbit as well, and if exceptions on failbit are enabled in this output stream's exception mask, throws ios_base::failure. flushes the tie()'d output stream, if applicable. Checks the status of the sentry by calling se

std::unordered_multiset::find

iterator find( const Key& key ); (1) const_iterator find( const Key& key ) const; (2) 1,2) Finds an element with key equivalent to key. Parameters key - key value of the element to search for Return value Iterator to an element with key equivalent to key. If no such element is found, past-the-end (see end()) iterator is returned. Complexity Constant on average, worst case linear in the size of the container. Example #include <iostream> #includ

std::swap(std::map)

template< class Key, class T, class Compare, class Alloc > void swap( map<Key,T,Compare,Alloc>& lhs, map<Key,T,Compare,Alloc>& rhs ); Specializes the std::swap algorithm for std::map. Swaps the contents of lhs and rhs. Calls lhs.swap(rhs). Parameters lhs, rhs - containers whose contents to swap Return value (none). Complexity Constant. Exceptions noexcept specification: noexcept(noexcept(lhs.swap(rhs))) (since C++17) See a