Implementation defined behavior control

Implementation defined behavior is controlled by #pragma directive. Syntax #pragma pragma_params (1) _Pragma ( string-literal ) (2) (since C++11) 1) Behaves in implementation-defined manner 2) Removes the L prefix (if any), the outer quotes, and leading/trailing whitespace from string-literal, replaces each \" with " and each \\ with \, then tokenizes the result (as in translation stage 3), and then uses the result as if the input to #pragma in (1) Explanation Pragma dire

std::tie

Defined in header <tuple> template< class... Types > tuple<Types&...> tie( Types&... args ); (since C++11) (until C++14) template< class... Types > constexpr tuple<Types&...> tie( Types&... args ); (since C++14) Creates a tuple of lvalue references to its arguments or instances of std::ignore. Parameters args - zero or more lvalue arguments to construct the tuple from Return value A std::tuple object containing lva

std::basic_istream::sync

int sync(); Synchronizes the input buffer with the associated data source. Behaves as UnformattedInputFunction, except that gcount() is not affected. After constructing and checking the sentry object, if rdbuf() is a null pointer, returns -1. Otherwise, calls rdbuf()->pubsync(). If that function returns -1, calls setstate(badbit) and returns -1. Otherwise, returns ​0​. Parameters (none). Return value ​0​ on success, -1 on failure or if the stream does not support this operation

std::multiset::get_allocator

allocator_type get_allocator() const; Returns the allocator associated with the container. Parameters (none). Return value The associated allocator. Complexity Constant.

std::codecvt_utf8

Defined in header <codecvt> template< class Elem, unsigned long Maxcode = 0x10ffff, std::codecvt_mode Mode = (std::codecvt_mode)0 > class codecvt_utf8 : public std::codecvt<Elem, char, std::mbstate_t>; std::codecvt_utf8 is a std::codecvt facet which encapsulates conversion between a UTF-8 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-8 files, both text and

std::time_put

Defined in header <locale> template< class CharT, class OutputIt = std::ostreambuf_iterator<CharT> > class time_put; Class template std::time_put encapsulates date and time formatting rules. The I/O manipulator std::put_time uses the std::time_put facet of the I/O stream's locale to generate text representation of an std::tm object. Inheritance diagram. Type requirements - OutputIt must meet the requirements of OutputIterator. Specializ

std::make_unique

Defined in header <memory> template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ); (1) (since C++14)(only for non-array types) template< class T > unique_ptr<T> make_unique( std::size_t size ); (2) (since C++14)(only for array types with unknown bound) template< class T, class... Args > /* unspecified */ make_unique( Args&&... args ) = delete; (3) (since C++14)(only for array types with known bou

std::endl

Defined in header <ostream> template< class CharT, class Traits > std::basic_ostream<CharT, Traits>& endl( std::basic_ostream<CharT, Traits>& os ); Inserts a newline character into the output sequence os and flushes it as if by calling os.put(os.widen('\n')) followed by os.flush(). This is an output-only I/O manipulator, it may be called with an expression such as out << std::endl for any out of type std::basic_ostream. Notes This manipula

std::forward_list::remove

void remove( const T& value ); (since C++11) template< class UnaryPredicate > void remove_if( UnaryPredicate p ); (since C++11) Removes all elements satisfying specific criteria. The first version removes all elements that are equal to value, the second version removes all elements for which predicate p returns true. Parameters value - value of the elements to remove p - unary predicate which returns ​true if the element should be removed. The signature of

std::unordered_map::insert_or_assign

template <class M> pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj); (1) (since C++17) template <class M> pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj); (2) (since C++17) template <class M> iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj); (3) (since C++17) template <class M> iterator insert_or_assign(const_iterator hint, key_type&& k,