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::bind1st,std::bind2nd(3) C++ Standard Libary std::bind1st,std::bind2nd(3)

std::bind1st,std::bind2nd - std::bind1st,std::bind2nd


Defined in header <functional>
template< class F, class T > (1) (deprecated in C++11)
std::binder1st<F> bind1st( const F& f, const T& x ); (removed in C++17)
template< class F, class T > (2) (deprecated in C++11)
std::binder2nd<F> bind2nd( const F& f, const T& x ); (removed in C++17)


Binds a given argument x to a first or second parameter of the given binary function
object f. That is, stores x within the resulting wrapper, which, if called, passes x
as the first or the second parameter of f.


1) Binds the first argument of f to x. Effectively calls std::binder1st<F>(f,
typename F::first_argument_type(x)).
2) Binds the second argument of f to x. Effectively calls std::binder2nd<F>(f,
typename F::second_argument_type(x)).


f - pointer to a function to bind an argument to
x - argument to bind to f


A function object wrapping f and x.


May throw implementation-defined exceptions.

// Run this code


#include <iostream>
#include <iomanip>
#include <algorithm>
#include <functional>
#include <cmath>
#include <cstddef>
#include <vector>


int main()
{
std::vector<double> a = {0, 30, 45, 60, 90, 180};
std::vector<double> r(a.size());
const double pi = std::acos(-1); // since C++20 use std::numbers::pi


std::transform(a.begin(), a.end(), r.begin(),
std::bind1st(std::multiplies<double>(), pi / 180.));
// an equivalent lambda is: [pi](double a){ return a*pi / 180.; });


for(std::size_t n = 0; n < a.size(); ++n)
std::cout << std::setw(3) << a[n] << "° = " << std::fixed << r[n]
<< " rad\n" << std::defaultfloat;
}


0° = 0.000000 rad
30° = 0.523599 rad
45° = 0.785398 rad
60° = 1.047198 rad
90° = 1.570796 rad
180° = 3.141593 rad


binder1st function object holding a binary function and one
binder2nd of its arguments
(deprecated in C++11)(removed in (class template)
C++17)
bind_front bind a variable number of arguments, in order, to a
bind_back function object
(C++20) (function template)
(C++23)

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.