Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

transform_view

Boost , Chapter 1. Fusion 2.2 , View

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Унарная версия transform_view представляет вид его лежащей в основе последовательности, заданной объекту унарной функции или указателю функции. Бинарная версия transform_view представляет вид 2 базовых последовательностей, заданных объектом двоичной функции или указателем функции. transform_view наследует характеристики прохождения (см. Sequence Traversal Concept) его базовой последовательности или последовательностей.

Header
#include <boost/fusion/view/transform_view.hpp>
#include <boost/fusion/include/transform_view.hpp>
Synopsis

Унитарная версия

template <typename Sequence, typename F1>
struct transform_view;

Бинарная версия

template <typename Sequence1, typename Sequence2, typename F2>
struct transform_view;
Template parameters

Параметр

Описание

По умолчанию

Sequence

A Forward Sequence

Sequence1

A Forward Sequence

Последовательность2

A Forward Sequence

F1

A unary function object or function pointer. boost::result_of<F1(E)>::type is the return type of an instance of F1 when called with a value of each element type E in the input sequence.

F2

A binary function object or function pointer. boost::result_of<F2(E1, E2)>::type is the return type of an instance of F2 when called with a value of each corresponding pair of element type E1 and E2 in the input sequences.

Model of

Notation

TV

transform_view

BTV

Бинарный тип transform_view

UTV

Унарный тип transform_view

f1

Пример F1

f2

Пример F2

s

Пример Последовательность

s1

Пример Последовательность1

s2

Пример Последовательность2

tv, tv2

Случаи transform_view

Expression Semantics

Семантика выражения определяется только там, где она отличается от или не определена в Переходной последовательности. Директивная последовательность или Последовательность случайного доступа в зависимости от характеристик прохождения (см. Концепция поперечного прохождения последовательности ) его базовой последовательности или последовательностей.

Выражение

Семантика

UTV(s, f1)

Создает унарный transform_view заданную последовательность, s и унарный объект функции или указатель функции, f1.

BTV(s1, s2, f2)

Creates a binary transform_view given sequences, s1 and s2 and binary function object or function pointer, f2.

TV(tv)

Copy constructs a transform_view from another transform_view, tv.

tv = tv2

Assigns to a transform_view, tv, from another transform_view, tv2.

Example
struct square
{
    template<typename Sig>
    struct result;
    template<typename U>
    struct result<square(U)>
    : remove_reference<U>
    {};
    template <typename T>
    T operator()(T x) const
    {
        return x * x;
    }
};
typedef vector<int, short, double> vector_type;
vector_type vec(2, 5, 3.3);
transform_view<vector_type, square> transform(vec, square());
std::cout << transform << std::endl;

PrevUpHomeNext

Статья transform_view раздела Chapter 1. Fusion 2.2 View может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: View ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:21:27/0.0060460567474365/1