Scroll to navigation

std::multiplies(3) C++ Standard Libary std::multiplies(3)

NAME

std::multiplies - std::multiplies

Synopsis


Defined in header <functional>
template<> (since C++14)
class multiplies<void>;


std::multiplies<void> is a specialization of std::multiplies with parameter and
return type deduced.

Member functions


operator() returns the product of two arguments
(public member function)

std::multiplies<void>::operator()


template< class T, class U >


constexpr auto operator()( T&& lhs, U&& rhs ) const


-> decltype(std::forward<T>(lhs) * std::forward<U>(rhs));


Returns the product of lhs and rhs.

Parameters


lhs, rhs - values to multiply

Return value


std::forward<T>(lhs) * std::forward<U>(rhs).

Example

// Run this code


#include <complex>
#include <functional>
#include <iostream>


int main()
{
auto complex_multiplies = std::multiplies<void>{}; // “void” can be omitted
constexpr std::complex z1{1.0, 2.0}, z2{3.0, 4.0};


std::cout << std::showpos
<< complex_multiplies(z1, z2) << ' ' << z1 * z2 << '\n'
<< complex_multiplies(z1, 5.) << ' ' << z1 * 5. << '\n'
<< complex_multiplies(5., z1) << ' ' << 5. * z1 << '\n';
}

Output:


(-5,+10) (-5,+10)
(+5,+10) (+5,+10)
(+5,+10) (+5,+10)

2024.06.10 http://cppreference.com