GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::binder1st,std::binder2nd(3) C++ Standard Libary std::binder1st,std::binder2nd(3)

std::binder1st,std::binder2nd - std::binder1st,std::binder2nd


Defined in header <functional>
template< class Fn >


class binder1st : public std::unary_function<typename
Fn::second_argument_type,
typename Fn::result_type> {
protected:


Fn op;
typename Fn::first_argument_type value;


public: (deprecated in C++11)
(1) (removed in C++17)
binder1st(const Fn& fn,
const typename Fn::first_argument_type& value);


typename Fn::result_type
operator()(const typename Fn::second_argument_type& x)
const;


typename Fn::result_type
operator()(typename Fn::second_argument_type& x) const;


};
template< class Fn >


class binder2nd : public unary_function<typename
Fn::first_argument_type,
typename Fn::result_type> {
protected:
Fn op;
typename Fn::second_argument_type value;
public:
binder2nd(const Fn& fn, (2) (deprecated in C++11)
const typename Fn::second_argument_type& value); (removed in C++17)


typename Fn::result_type
operator()(const typename Fn::first_argument_type& x)
const;


typename Fn::result_type
operator()(typename Fn::first_argument_type& x) const;


};


A function object that binds an argument to a binary function.


The value of the parameter is passed to the object at the construction time and
stored within the object. Whenever the function object is invoked though operator(),
the stored value is passed as one of the arguments, the other argument is passed as
an argument of operator(). The resulting function object is an unary function.


1) Binds the first parameter to the value value given at the construction of the
object.
2) Binds the second parameter to the value value given at the construction of the
object.

// Run this code


#include <iostream>
#include <functional>
#include <cmath>
#include <vector>
const double pi = std::acos(-1);
int main()
{
// deprecated in C++11, removed in C++17
std::binder1st<std::multiplies<double>> f1 = std::bind1st(
std::multiplies<double>(), pi / 180.);


// C++11 replacement
auto f2 = [](double a){ return a*pi/180.; };


for(double n : {0, 30, 45, 60, 90, 180})
std::cout << n << "° = " << f1(n) << " rad (using binder) "
<< f2(n) << " rad (using lambda)\n";
}


0° = 0 rad (using binder) 0 rad (using lambda)
30° = 0.523599 rad (using binder) 0.523599 rad (using lambda)
45° = 0.785398 rad (using binder) 0.785398 rad (using lambda)
60° = 1.0472 rad (using binder) 1.0472 rad (using lambda)
90° = 1.5708 rad (using binder) 1.5708 rad (using lambda)
180° = 3.14159 rad (using binder) 3.14159 rad (using lambda)


bind1st binds one argument to a binary function
bind2nd (function template)
(deprecated in C++11)(removed in C++17)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.