OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
v_transform_two_v2< H, arg0, L > Struct Template Reference

Detailed Description

template<template< typename, typename > class H, typename arg0, typename L>
struct v_transform_two_v2< H, arg0, L >

It transform a boost::fusion::vector to another boost::fusion::vector applying a meta-function H on each element

H2-argument metafunction (is a structure with typedef type)

Meta-function definition

template <typename arg0, typename T>
struct Ftwo
typedef aggregate<T> type;


typedef boost::mpl::vector<float,float,float[3]> bfv;
// tbvf is boost::fusion::vector<scalar<float>,scalar<float>,scalar<float[3]>>
bool val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<0>>::type,aggregate<float>>::value;
val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<1>>::type,aggregate<float>>::value;
val = std::is_same<boost::mpl::at<tbfv,boost::mpl::int_<2>>::type,aggregate<float[3]>>::value;

Definition at line 250 of file variadic_to_vmpl.hpp.

#include <variadic_to_vmpl.hpp>

Public Types

typedef boost::mpl::reverse< L >::type reversed_
 reverse the sequence
typedef seq_traits_impl< reversed_ >::first_ first
 first element
typedef seq_traits_impl< reversed_ >::last_ last
 last element
typedef exit_impl< first, last >::type exit_
 calculate the exit condition
typedef v_transform_two_v2_impl< H, arg0, first, last, exit_::value >::type type
 generate the boost::fusion::vector apply H on each term

The documentation for this struct was generated from the following file: