| 
  |  | 
   | 
| Category: functors  |  | Component type: type   | 
Description
Select1st is a functors that takes a single argument, a pair [1], and returns the pair's first element. 
Example
Print all of a Map's keys. 
int main()
{
  Map<int, double> M;
  M[1] = 0.3;
  M[47] = 0.8;
  M[33] = 0.1;
  transform(M.begin(), M.end(), ostream_iterator<int>(cout, " "),
            select1st<Map<int, double>::value_type>());
  
}
  
Definition
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    | 
Pair   | The function object's argument type.   |      | 
Model of
AdaptableUnaryFunctionAdaptableUnaryFunctionAdaptableUnaryFunction 
Type requirements
There exist some types U and V such that Pair provides the same interface as a pair<U,V>. [1] 
Public base classes
unary_function<Pair, Pair::first_type> 
Members
New members
All of select1st's members are defined in the AdaptableUnaryFunction requirements. Select1st does not introduce any new members. 
Notes
[1] Pair is not actually required to be a pair<U,V>, but merely to support the same interface as pair. In almost all cases the template parameter will be a pair, but it is occasionally useful for it to be something else. One example is a struct that has the members first, second, and third. 
See also
identity, select2nd, project1st, project2nd