|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Old binders and adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Defined in header <functional> | ||
template<> class multiplies<void>; | (since C++14) | |
std::multiplies<void> is a specialization ofstd::multiplies with parameter and return type deduced.
Contents |
Type | Definition |
is_transparent | unspecified |
operator() | returns the product of two arguments (public member function) |
template<class T,class U> constexprauto operator()( T&& lhs, U&& rhs)const | ||
Returns the product oflhs andrhs.
lhs, rhs | - | values to multiply |
std::forward<T>(lhs)*std::forward<U>(rhs).
#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)