nullptr

Syntax nullptr (since C++11) Explanation The keyword nullptr denotes the pointer literal. It is a prvalue of type std::nullptr_t. There exist implicit conversions from nullptr to null pointer value of any pointer type and any pointer to member type. Similar conversions exist for any null pointer constant, which includes values of type std::nullptr_t as well as the macro NULL. Example Demonstrates how nullptr allows forwarding via a template function. #include <cstddef> #

std::unordered_multiset::end(int)

local_iterator end( size_type n ); (since C++11) const_local_iterator end( size_type n ) const; (since C++11) const_local_iterator cend( size_type n ) const; (since C++11) Returns an iterator to the element following the last element of the bucket with index n. . This element acts as a placeholder, attempting to access it results in undefined behavior. Parameters n - the index of the bucket to access Return value iterator to the element following the last eleme

Allocator

Encapsulates a memory allocation and deallocation strategy. Every standard library component that may need to allocate or release storage, from std::string, std::vector, and every container except std::array, to std::shared_ptr and std::function, does so through an Allocator: an object of a class type that satisfies the following requirements. Some requirements are optional: the template std::allocator_traits supplies the default implementations for all optional requirements, and all standard l

Transactional memory

Transactional memory is a concurrency synchronization mechanism that combines groups of statements in transactions, that are. atomic (either all statements occur, or nothing occurs) isolated (statements in a transaction may not observe half-written writes made by another transaction, even if they execute in parallel) Typical implementations use hardware transactional memory where supported and to the limits that it is available (e.g. until the changeset is saturated) and fall back to soft

std::valarray::size

std::size_t size() const; Returns the number of elements in the valarray. Parameters (none). Return value Number of elements in the valarray. Example See also resize changes the size of valarray (public member function)

std::list::end

iterator end(); const_iterator end() const; const_iterator cend() const; (since C++11) Returns an iterator to the element following the last element of the container. This element acts as a placeholder; attempting to access it results in undefined behavior. Parameters (none). Return value Iterator to the element following the last element. Exceptions (none) (until C++11) noexcept specification: noexcept (since C++11) Complexity Constant. See also begin

std::condition_variable_any::notify_one

void notify_one(); (since C++11) If any threads are waiting on *this, calling notify_one unblocks one of the waiting threads. Parameters (none). Return value (none). Exceptions noexcept specification: noexcept Notes The effects of notify_one()/notify_all() and wait()/wait_for()/wait_until() take place in a single total order, so it's impossible for notify_one() to, for example, be delayed and unblock a thread that started waiting just after the call to notify_one() was mad

std::codecvt_utf16

Defined in header <codecvt> template< class Elem, unsigned long Maxcode = 0x10ffff, std::codecvt_mode Mode = (std::codecvt_mode)0 > class codecvt_utf16 : public std::codecvt<Elem, char, std::mbstate_t>;; std::codecvt_utf16 is a std::codecvt facet which encapsulates conversion between a UTF-16 encoded byte string and UCS2 or UCS4 character string (depending on the type of Elem). This codecvt facet can be used to read and write UTF-16 files in

std::unique_ptr::release

pointer release(); (since C++11) Releases the ownership of the managed object if any. get() returns nullptr after the call. Parameters (none). Return value Pointer to the managed object or nullptr if there was no managed object, i.e. the value which would be returned by get() before the call. Exceptions noexcept specification: noexcept Example #include <memory> #include <iostream> #include <cassert> struct Foo { Foo() { std::cout << "Foo\n";

operators (std::multimap)

template< class Key, class T, class Compare, class Alloc > bool operator==( const multimap<Key,T,Compare,Alloc>& lhs, const multimap<Key,T,Compare,Alloc>& rhs ); (1) template< class Key, class T, class Compare, class Alloc > bool operator!=( const multimap<Key,T,Compare,Alloc>& lhs, const multimap<Key,T,Compare,Alloc>& rhs ); (2) template< class Key, class T, class Compare, class Alloc > boo