explicit template specialization

Allows customizing the template code for a given set of template arguments. Syntax template <> declaration Any of the following can be fully specialized: function template class template (since C++14)variable template member function of a class template static data member of a class template member class of a class template member enumeration of a class template member class template of a class or class template member function template of a class or class temp

std::isdigit

Defined in header <cctype> int isdigit( int ch ); Checks if the given character is one of the 10 decimal digits: 0123456789. The behavior is undefined if the value of ch is not representable as unsigned char and is not equal to EOF. Parameters ch - character to classify Return value Non-zero value if the character is a numeric character, zero otherwise. Notes isdigit and isxdigit are the only standard narrow character classification functions that are not a

std::mem_fun

Defined in header <functional> template< class Res, class T > std::mem_fun_t<Res,T> mem_fun( Res (T::*f)() ); (1) (until C++17)(deprecated since C++11) template< class Res, class T > std::const_mem_fun_t<Res,T> mem_fun( Res (T::*f)() ); (1) (until C++17)(deprecated since C++11) template< class Res, class T, class Arg > std::mem_fun1_t<Res,T,Arg> mem_fun( Res (T::*f)(Arg) ); (2) (until C++17)(deprecated since C++11) template&

std::remainder

Defined in header <cmath> float remainder( float x, float y ); (1) (since C++11) double remainder( double x, double y ); (2) (since C++11) long double remainder( long double x, long double y ); (3) (since C++11) Promoted remainder( Arithmetic1 x, Arithmetic2 y ); (4) (since C++11) 1-3) Computes the IEEE remainder of the floating point division operation x/y. 4) A set of overloads or a function template for all combinations of arguments of a

std::ctype::toupper

Defined in header <locale> public: CharT toupper( CharT c ) const; (1) public: const CharT* toupper( CharT* beg, const CharT* end ) const; (2) protected: virtual CharT do_toupper( CharT c ) const; (3) protected: virtual const CharT* do_toupper( CharT* beg, const CharT* end ) const; (4) 1,2) public member function, calls the protected virtual member function do_toupper of the most derived class. 3) Converts the character c to upper case if an upper case f

std::tanh

Defined in header <cmath> float tanh( float arg ); (1) double tanh( double arg ); (2) long double tanh( long double arg ); (3) double tanh( Integral arg ); (4) (since C++11) Computes the hyperbolic tangent of arg. 4) A set of overloads or a function template accepting an argument of any integral type. Equivalent to 2) (the argument is cast to double). Parameters arg - value of a floating-point or Integral type Return value I

std::numeric_limits::epsilon

static T epsilon(); (until C++11) static constexpr T epsilon(); (since C++11) Returns the machine epsilon, that is, the difference between 1.0 and the next value representable by the floating-point type T. It is only meaningful if std::numeric_limits<T>::is_integer == false. Return value T std::numeric_limits<T>::epsilon() /* non-specialized */ T(); bool false char ​0​ signed char ​0​ unsigned char ​0​ wchar_t ​0​ char16_t ​0​ char32

std::rbegin

Defined in header <iterator> template< class C > auto rbegin( C& c ) -> decltype(c.rbegin()); (1) (since C++14) template< class C > auto rbegin( const C& c ) -> decltype(c.rbegin()); (1) (since C++14) template< class T, size_t N > reverse_iterator<T*> rbegin( T (&array)[N] ); (2) (since C++14) template< class C > auto crbegin( const C& c ) -> decltype(std::rbegin(c)); (3) (since C++14) Returns an i

std::initializer_list::initializer_list

initializer_list(); (since C++11) (until C++14) constexpr initializer_list(); (since C++14) Constructs an empty initializer list. Parameters (none). Exceptions noexcept specification: noexcept Complexity Constant. Example #include <iostream> #include <initializer_list> int main() { std::initializer_list<int> empty_list; std::cout << "empty_list.size(): " << empty_list.size() << '\n'; // create initializer lists u

std::deque::swap

void swap( deque& other ); Exchanges the contents of the container with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. If std::allocator_traits<allocator_type>::propagate_on_container_swap::value is true, then the allocators are exchanged using an unqualified call to non-member swap. Otherwise, they are not swapped (and if get_allocator() != other.g