Standard Template Library Programmer's Guide
Здесь есть возможность читать онлайн «Standard Template Library Programmer's Guide» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, Справочники, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.
- Название:Standard Template Library Programmer's Guide
- Автор:
- Жанр:
- Год:неизвестен
- ISBN:нет данных
- Рейтинг книги:4 / 5. Голосов: 1
-
Избранное:Добавить в избранное
- Отзывы:
-
Ваша оценка:
- 80
- 1
- 2
- 3
- 4
- 5
Standard Template Library Programmer's Guide: краткое содержание, описание и аннотация
Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Standard Template Library Programmer's Guide»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.
Standard Template Library Programmer's Guide — читать онлайн бесплатно полную книгу (весь текст) целиком
Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Standard Template Library Programmer's Guide», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.
Интервал:
Закладка:
Note that a function pointer of type Result (*)(Arg) is a perfectly good Unary Function object, and may be passed to an STL algorithm that expects an argument that is a Unary Function. The only reason for using the pointer_to_unary_function object is if you need to use an ordinary function in a context that requires an Adaptable Unary Function, e.g. as the argument of a function object adaptor.
Most of the time, you need not declare an object of type pointer_to_unary_function directly. It is almost always easier to construct one using the ptr_fun function.
The following code fragment replaces all of the numbers in a range with their absolute values, using the standard library function fabs . There is no need to use a pointer_to_unary_function adaptor in this case.
transform(first, last, first, fabs);
The following code fragment replaces all of the numbers in a range with the negative of their absolute values. In this case we are composing fabs and negate . This requires that fabs be treated as an adaptable unary function, so we do need to use a pointer_to_unary_function adaptor.
transform(first, last, first, compose1(negate, ptr_fun(fabs)));
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.
| Parameter | Description |
|---|---|
Arg |
The function object's argument type |
Result |
The function object's result type |
Adaptable Unary Function
• Arg is Assignable.
• Result is Assignable.
unary_function
| Member | Where defined | Description |
|---|---|---|
argument_type |
Adaptable Unary Function | The type of the function object's argument: Arg . |
result_type |
Adaptable Unary Function | The type of the result: Result |
result_type operator()(argument_type x) |
Unary Function | Function call operator. |
pointer_to_unary_function(Result (*f)(Arg)) |
pointer_to_unary_function |
See below. |
pointer_to_unary_function() |
pointer_to_unary_function |
See below. |
template pointer_to_unary_function ptr_fun(Result (*x)(Arg)); |
pointer_to_unary_function |
See below. |
These members are not defined in the Adaptable Unary Function requirements, but are specific to pointer_to_unary_function .
| Member | Description |
|---|---|
pointer_to_unary_function(Result (*f)(Arg)) |
The constructor. Creates a pointer_to_unary_function whose underlying function is f . |
pointer_to_unary_function() |
The default constructor. This creates a pointer_to_unary_function that does not have an underlying C function, and that therefore cannot actually be called. |
template pointer_to_unary_function ptr_fun(Result (*x)(Arg)); |
If f is of type Result (*)(Arg) then ptr_fun(f) is equivalent to pointer_to_unary_function(f) , but more convenient. This is a global function, not a member. |
pointer_to_binary_function , ptr_fun , Adaptable Unary Function
pointer_to_binary_function
Categories: functors, adaptors
Component type: type
Pointer_to_binary_function is a function object adaptor that allows a function pointer Result (*f)(Arg1, Arg2) to be treated as an Adaptable Binary Function . That is: if F is a pointer_to_binary_function that was initialized with an underlying function pointer f of type Result (*)(Arg1, Arg2) , then F(x, y) calls the function f(x, y) . The difference between f and F is that pointer_to_binary_function is an Adaptable Binary Function, i.e. it defines the nested typedef s first_argument_type , second_argument_type , and result_type .
Note that a function pointer of type Result (*)(Arg1, Arg2) is a perfectly good Binary Function object, and may be passed to an STL algorithm that expects an argument that is a Binary Function . The only reason for using the pointer_to_binary_function class is if you need to use an ordinary function in a context that requires an Adaptable Binary Function, e.g. as the argument of a function object adaptor.
Most of the time, you need not declare an object of type pointer_to_binary_function directly. It is almost always easier to construct one using the ptr_fun function.
The following code fragment finds the first string in a list that is equal to "OK" . It uses the standard library function strcmp as an argument to a function object adaptor, so it must first use a pointer_to_binary_function adaptor to give strcmp the Adaptable Binary Function interface.
list L;
…
list::iterator item = find_if(L.begin(), L.end(), not1(binder2nd(ptr_fun(strcmp), "OK")));
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.
| Parameter | Description |
|---|---|
Arg1 |
The function object's first argument type |
Arg2 |
The function object's second argument type |
Result |
The function object's result type |
Adaptable Binary Function
Arg1 is Assignable.
Arg2 is Assignable.
Result is Assignable.
binary_function
| Member | Where defined | Description |
|---|---|---|
first_argument_type |
Adaptable Binary Function | The type of the first argument: Arg1 . |
second_argument_type |
Adaptable Binary Function | The type of the second argument: Arg2 |
result_type |
Adaptable Binary Function | The type of the result: Result |
Result operator()(Arg1 x, Arg2 y) |
Binary Function | Function call operator. |
pointer_to_binary_function(Result (*f)(Arg1, Arg2)) |
pointer_to_binary_function |
See below. |
pointer_to_binary_function() |
pointer_to_binary_function |
See below. |
template pointer_to_unary_function ptr_fun(Result (*x)(Arg1, Arg2)); |
pointer_to_binary_function |
See below. |
These members are not defined in the Adaptable Binary Function requirements, but are specific to pointer_to_binary_function .
Читать дальшеИнтервал:
Закладка:
Похожие книги на «Standard Template Library Programmer's Guide»
Представляем Вашему вниманию похожие книги на «Standard Template Library Programmer's Guide» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.
Обсуждение, отзывы о книге «Standard Template Library Programmer's Guide» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.