Silicon Graphics, Inc.

select1st<Pair>

Category: functors Component type: type

Description

Select1st is a function object 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>());
  // The output is  1 33 47.
}

Definition

Defined in function.h

Template parameters

Parameter Description Default
Pair The function object's argument type.  

Model of

Adaptable Unary FunctionAdaptable Unary FunctionAdaptable Unary Function

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

Member Where defined Description
argument_type Adaptable Unary Function The type of select1st's argument: Pair
result_type Adaptable Unary Function The type of the result: Pair::first_type
const Pair::first_type&
operator()(const Pair& p) const
Adaptable Unary Function Function call. The return value is p.first.

New members

All of select1st's members are defined in the Adaptable Unary Function 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
[Silicon Surf] [STL Home]
Copyright © 1996 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation