Книга: Standard Template Library Programmer

select1st

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 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
Pair The function object's argument type.

Model of

Adaptable 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

Оглавление книги

Оглавление статьи/книги

Генерация: 0.038. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз