std::is_pointer

Defined in header <type_traits> template< class T > struct is_pointer; (since C++11) Checks whether T is a pointer to object or a pointer to function (but not a pointer to member/member function). Provides the member constant value which is equal to true, if T is a object/function pointer type. Otherwise, value is equal to false. Template parameters T - a type to check Helper variable template template< class T > constexpr bool is_pointer_v = is

std::strtoul

Defined in header <cstdlib> unsigned long strtoul( const char *str, char **str_end, int base ); unsigned long long strtoull( const char *str, char **str_end, int base ); (since C++11) Interprets an unsigned integer value in a byte string pointed to by str. Discards any whitespace characters (as identified by calling isspace()) until the first non-whitespace character is found, then takes as many characters as possible to form a valid base-n (where n=base) unsigne

std::is_function

Defined in header <type_traits> template< class T > struct is_function; (since C++11) Checks whether T is a function type (not std::function). Provides the member constant value which is equal to true, if T is a function type. Otherwise, value is equal to false. Template parameters T - a type to check Helper variable template template< class T > constexpr bool is_function_v = is_function<T>::value; (since C++17) Inherited from st

std::map::operator[]

T& operator[]( const Key& key ); (1) T& operator[]( Key&& key ); (2) (since C++11) Returns a reference to the value that is mapped to a key equivalent to key, performing an insertion if such key does not already exist. 1) Inserts value_type(key, T()) if the key does not exist. This function is equivalent to return insert(std::make_pair(key, T())).first->second; - key_type must meet the requirements of CopyConstructible. - mapped_type must meet the requi

std::is_void

Defined in header <type_traits> template< class T > struct is_void; (since C++11) Checks whether T is a void type. Provides the member constant value that is equal to true, if T is the type void, const void, volatile void, or const volatile void. Otherwise, value is equal to false. Template parameters T - a type to check Helper variable template template< class T > constexpr bool is_void_v = is_void<T>::value; (since C++17) Inheri

std::codecvt_byname

Defined in header <locale> template< class InternT, class ExternT, class State > class codecvt_byname : public std::codecvt<InternT, ExternT, State>; std::codecvt_byname is a std::codecvt facet which encapsulates multibyte/wide character conversion rules of a locale specified at its construction. Four specializations are provided by the standard library. Defined in header <locale> std::codecvt_byname<char, char, std::mbstate_t> identity convers

std::ceil

Defined in header <cmath> float ceil( float arg ); (1) double ceil( double arg ); (2) long double ceil( long double arg ); (3) double ceil( Integral arg ); (4) (since C++11) 1-3) Computes the smallest integer value not less than 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 - floating point value Return value If

Callable

A Callable type is a type, for which the INVOKE operation, as defined by std::function, std::bind, or std::thread::thread is applicable. This operation may be performed explicitly using the library function std::invoke. (since C++17). Requirements The type T satisfies Callable if. Given. f, an object of type T or const T ArgTypes, suitable list of argument types R, suitable return type The following expressions must be valid: Expression Requirements INVOKE(f, std::declval<ArgTyp

Member templates

Template declarations (class, function, and variables (since C++14)) can appear inside a member specification of any class, struct, or union that aren't local classes. #include <iostream> #include <vector> #include <algorithm> struct Printer { // generic functor std::ostream& os; Printer(std::ostream& os) : os(os) {} template<typename T> void operator()(const T& obj) { os << obj << ' '; } // member template }; int main() {

std::shared_ptr::reset

void reset(); (1) (since C++11) template< class Y > void reset( Y* ptr ); (2) (since C++11) template< class Y, class Deleter > void reset( Y* ptr, Deleter d ); (3) (since C++11) template< class Y, class Deleter, class Alloc > void reset( Y* ptr, Deleter d, Alloc alloc ); (4) (since C++11) Replaces the managed object with an object pointed to by ptr. Optional deleter d can be supplied, which is later used to destroy the new object when no shared_ptr