project2nd<Arg1, Arg2>

Category: functors Component type: type


Project2nd is a function object that takes two arguments and returns its second argument; the first argument is unused. It is essentially a generalization of identity to the case of a Binary Function.


int main()
  vector<char*> v1(10, (char*) 0);
  vector<int> v2(10, 137);
  vector<int> result(10);

  transform(v1.begin(), v1.end(), v2.begin(), result.begin(),
            project2nd<char*, int>());
  assert(equal(v2.begin(), v2.end(), result.begin()));


Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h. This function object is an SGI extension; it is not part of the C++ standard.

Template parameters

Parameter Description Default
Arg1 project2nd's first argument type.  
Arg2 project2nd's second argument type, and its result type.  

Model of

Adaptable Binary Function

Type requirements


Public base classes

binary_function<Arg1, Arg2, Arg2>


Member Where defined Description
first_argument_type Adaptable Binary Function The type of project2nd's first argument: Arg1
second_argument_type Adaptable Binary Function The type of project2nd's second argument: Arg2
result_type Adaptable Binary Function The type of the result: Arg2.
Arg1 operator()(const Arg1&, const Arg2& y) const Adaptable Binary Function Function call. The return value is y.

New members

All of project2nd's members are defined in the Adaptable Binary Function requirements. project2nd does not introduce any new members.


See also

Function objects, identity, project1st, select1st, select2nd
[Silicon Surf] [STL Home]
Copyright © 1999 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation