std::independent_bits_engine

Defined in header <random> template< class Engine, std::size_t W, class UIntType > class independent_bits_engine; (since C++11) independent_bits_engine is a random number engine adaptor that produces random numbers with different number of bits than that of the wrapped engine. Template parameters Engine - the type of the wrapped engine W - the number of bits the generated numbers should have UIntType - the type of the generated random

std::independent_bits_engine::base

const Engine& base() const; (since C++11) Returns the underlying engine. Parameters (none). Return value The underlying engine. Exceptions noexcept specification: noexcept

std::independent_bits_engine::discard

void discard( unsigned long long z ); (since C++11) Advances the internal state by z times. Equivalent to calling operator() z times and discarding the result. The state of the underlying engine may be advanced by more than z times. Parameters z - integer value specifying the number of times to advance the state by Return value (none). Exceptions (none). See also operator() advances the state of the underlying engine and returns the generated value (public membe

std::independent_bits_engine::max

static constexpr result_type max(); (since C++11) Returns the maximum value potentially generated by the engine adaptor. This value is equal to 2w-1. Parameters (none). Return value The maximum potentially generated value. Complexity Constant. See also min [static] gets the smallest possible value in the output range (public static member function)

std::ilogb

Defined in header <cmath> int ilogb( float arg ); (1) (since C++11) int ilogb( double arg ); (2) (since C++11) int ilogb( long double arg ); (3) (since C++11) int ilogb( Integral arg ); (4) (since C++11) #define FP_ILOGB0 /*implementation-defined*/ (5) (since C++11) #define FP_ILOGBNAN /*implementation-defined*/ (6) (since C++11) 1-3) Extracts the value of the unbiased exponent from the floating-point argument a

std::has_virtual_destructor

Defined in header <type_traits> template< class T > struct has_virtual_destructor; (since C++11) If T is a type with a virtual destructor, provides the member constant value equal true. For any other type, value is false. If T is a non-union class type, T shall be a complete type; otherwise, the behavior is undefined. Helper variable template template< class T > constexpr bool has_virtual_destructor_v = has_virtual_destructor<T>::value; (since C+

std::hypot

Defined in header <cmath> float hypot( float x, float y ); (1) (since C++11) double hypot( double x, double y ); (2) (since C++11) long double hypot( long double x, long double y ); (3) (since C++11) Promoted hypot( Arithmetic1 x, Arithmetic2 y ); (4) (since C++11) 1-3) Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation. 4) A set of overloads or a func

std::imag(std::complex)

Defined in header <complex> template< class T > T imag( const complex<T>& z ); (1) (until C++14) template< class T > constexpr T imag( const complex<T>& z ); (1) (since C++14) long double imag( long double z ); (2) (since C++11) template< class DoubleOrIngeter > double imag( DoubleOrInteger z ); (3) (since C++11) float imag( float z ); (4) (since C++11) Returns the imaginary component of the complex number z, i

std::ignore

Defined in header <tuple> const /*unspecified*/ ignore; (since C++11) An object of unspecified type such that any value can be assigned to it with no effect. Intended for use with std::tie when unpacking a std::tuple, as a placeholder for the arguments that are not used. Example unpack a pair returned by set.insert(), but only save the boolean. #include <iostream> #include <string> #include <set> #include <tuple> int main() { std::set<st

std::hash&lt;std::thread::id&gt;

Defined in header <thread> template<> struct hash<std::thread::id>; (since C++11) The template specialization of std::hash for the std::thread::id class allows users to obtain hashes of the identifiers of threads. Example #include <iostream> #include <thread> #include <chrono> #include <vector> using namespace std::literals::chrono_literals; void foo() { std::this_thread::sleep_for(10ms); } int main() { std::vector<std::