std::multiplies<void>
From cppreference.com
< cpp | utility | functional
Defined in header <functional> | ||
template<> class multiplies<void>; | (since C++14) | |
std::multiplies<void> is a specialization of std::multiplies with parameter and return type deduced.
Contents |
[edit]Member types
Type | Definition |
is_transparent | unspecified |
[edit]Member functions
operator() | returns the product of two arguments (public member function) |
std::multiplies<void>::operator()
template<class T, class U > constexprauto operator()( T&& lhs, U&& rhs )const | ||
Returns the product of lhs and rhs.
Parameters
lhs, rhs | - | values to multiply |
Return value
std::forward<T>(lhs)*std::forward<U>(rhs).
[edit]Example
Run this code
#include <complex>#include <functional>#include <iostream> int main(){auto complex_multiplies =std::multiplies<void>{};// “void” can be omittedconstexprstd::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)