5#ifndef OPENFPM_PDATA_VECTOR_ALGEBRA_OFP_HPP 
    6#define OPENFPM_PDATA_VECTOR_ALGEBRA_OFP_HPP 
   14            template<
typename vector_type,
typename index_type,
typename op_type>
 
   36                    op(v.data.template get<T::value>().getVector().template get<0>(p));
 
   39            template<
typename S1,
typename S2,
typename index_type,
typename op_type>
 
   54                __device__ __host__ 
inline for_each_prop2(S1 &v1,S2 &v2,index_type &p,op_type &op)
 
   55                        :v1(v1),v2(v2),p(p),op(op)
 
   61                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p));
 
   65            template<
typename S1,
typename S2,
typename S3,
typename index_type,
typename op_type>
 
   81                __device__ __host__ 
inline for_each_prop3(S1 &v1,S2 &v2,S3 &v3,index_type &p,op_type &op)
 
   82                        :v1(v1),v2(v2),v3(v3),p(p),op(op)
 
   91                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p));
 
   96            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename index_type,
typename op_type>
 
  114                __device__ __host__ 
inline for_each_prop4(S1 &v1,S2 &v2,S3 &v3,S4 &v4,index_type &p,op_type &op)
 
  115                        :v1(v1),v2(v2),v3(v3),v4(v4),p(p),op(op)
 
  121                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p));
 
  124            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename index_type,
typename op_type>
 
  143                __device__ __host__ 
inline for_each_prop5(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,index_type &p,op_type &op)
 
  144                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),p(p),op(op)
 
  150                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p));
 
  154            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename index_type,
typename op_type>
 
  175                __device__ __host__ 
inline for_each_prop6(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,index_type &p,op_type &op)
 
  176                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),p(p),op(op)
 
  182                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p));
 
  187            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename index_type,
typename op_type>
 
  209                __device__ __host__ 
inline for_each_prop7(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,index_type &p,op_type &op)
 
  210                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),p(p),op(op)
 
  216                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p));
 
  220            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8,
typename index_type,
typename op_type>
 
  243                __device__ __host__  
inline for_each_prop8(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,index_type &p,op_type &op)
 
  244                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),p(p),op(op)
 
  250                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p));
 
  254            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9,
typename index_type,
typename op_type>
 
  278                __device__ __host__ 
inline for_each_prop9(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,index_type &p,op_type &op)
 
  279                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),p(p),op(op)
 
  285                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p));
 
  289            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10,
typename index_type,
typename op_type>
 
  314                __device__ __host__  
inline for_each_prop10(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10,index_type &p,op_type &op)
 
  315                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),p(p),op(op)
 
  321                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p));
 
  325            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10, 
typename S11,
typename index_type,
typename op_type>
 
  351                __device__ __host__ 
inline for_each_prop11(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10, S11 &v11,index_type &p,op_type &op)
 
  352                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),v11(v11),p(p),op(op)
 
  358                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p),v11.data.template get<T::value>().getVector().template get<0>(p));
 
  363            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10, 
typename S11, 
typename S12,
typename index_type,
typename op_type>
 
  390                __device__ __host__ 
inline for_each_prop12(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10, S11 &v11,S12 &v12,index_type &p,op_type &op)
 
  391                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),v11(v11), v12(v12),p(p),op(op)
 
  397                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p),v11.data.template get<T::value>().getVector().template get<0>(p),v12.data.template get<T::value>().getVector().template get<0>(p));
 
  402            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10, 
typename S11, 
typename S12, 
typename S13,
typename index_type,
typename op_type>
 
  430                __device__ __host__ 
inline for_each_prop13(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10, S11 &v11,S12 &v12,S13 &v13,index_type &p,op_type &op)
 
  431                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),v11(v11), v12(v12),v13(v13),p(p),op(op)
 
  437                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p),v11.data.template get<T::value>().getVector().template get<0>(p),v12.data.template get<T::value>().getVector().template get<0>(p),v13.data.template get<T::value>().getVector().template get<0>(p));
 
  442            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10, 
typename S11, 
typename S12, 
typename S13, 
typename S14,
typename index_type,
typename op_type>
 
  471                __device__ __host__ 
inline for_each_prop14(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10, S11 &v11,S12 &v12,S13 &v13,S14 &v14,index_type &p,op_type &op)
 
  472                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),v11(v11), v12(v12),v13(v13),v14(v14),p(p),op(op)
 
  478                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p),v11.data.template get<T::value>().getVector().template get<0>(p),v12.data.template get<T::value>().getVector().template get<0>(p),v13.data.template get<T::value>().getVector().template get<0>(p),v14.data.template get<T::value>().getVector().template get<0>(p));
 
  483            template<
typename S1,
typename S2,
typename S3,
typename S4,
typename S5,
typename S6,
typename S7,
typename S8, 
typename S9, 
typename S10, 
typename S11, 
typename S12, 
typename S13, 
typename S14, 
typename S15,
typename index_type,
typename op_type>
 
  513                __device__ __host__ 
inline for_each_prop15(S1 &v1,S2 &v2,S3 &v3,S4 &v4,S5 &v5,S6 &v6,S7 &v7,S8 &v8,S9 &v9,S10 &v10, S11 &v11,S12 &v12,S13 &v13,S14 &v14,S15 &v15,index_type &p,op_type &op)
 
  514                        :v1(v1),v2(v2),v3(v3),v4(v4),v5(v5),v6(v6),v7(v7),v8(v8),v9(v9),v10(v10),v11(v11), v12(v12),v13(v13),v14(v14),v15(v15),p(p),op(op)
 
  520                    op(v1.data.template get<T::value>().getVector().template get<0>(p),v2.data.template get<T::value>().getVector().template get<0>(p),v3.data.template get<T::value>().getVector().template get<0>(p),v4.data.template get<T::value>().getVector().template get<0>(p),v5.data.template get<T::value>().getVector().template get<0>(p),v6.data.template get<T::value>().getVector().template get<0>(p),v7.data.template get<T::value>().getVector().template get<0>(p),v8.data.template get<T::value>().getVector().template get<0>(p),v9.data.template get<T::value>().getVector().template get<0>(p),v10.data.template get<T::value>().getVector().template get<0>(p),v11.data.template get<T::value>().getVector().template get<0>(p),v12.data.template get<T::value>().getVector().template get<0>(p),v13.data.template get<T::value>().getVector().template get<0>(p),v14.data.template get<T::value>().getVector().template get<0>(p),v15.data.template get<T::value>().getVector().template get<0>(p));
 
  565        template<
typename S1,
typename S2>
 
  583                v1.data.template get<T::value>().getVector().resize(v2.data.template get<T::value>().getVector().size());
 
  591            template< 
class S1 , 
class Op >
 
  592            static void for_each1( S1 &s1 , Op op )
 
  596                auto it=s1.data.template get<0>().getVector().getIterator();
 
  602                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  610            template< 
class S1 , 
class S2 , 
class Op >
 
  611            static void for_each2( S1 &s1 , S2 &s2 , Op op )
 
  614                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  617                auto it=s1.data.template get<0>().getVector().getIterator();
 
  623                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  630            template< 
class S1 , 
class S2 , 
class S3 , 
class Op >
 
  631            static void for_each3( S1 &s1 , S2 &s2 , S3 &s3 , Op op )
 
  636                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(the_resize);
 
  638                auto it=s1.data.template get<0>().getVector().getIterator();
 
  645                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  654            template< 
class S1 , 
class S2 , 
class S3 , 
class S4 , 
class Op >
 
  655            static void for_each4( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op )
 
  658                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  660                auto it=s1.data.template get<0>().getVector().getIterator();
 
  664                    for_each_prop4<S1,S2,S3,S4,typename S1::index_type,Op> cp(s1,s2,s3,s4,p,op);
 
  666                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  675            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5 , 
class Op >
 
  676            static void for_each5( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5 , Op op )
 
  679                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  681                auto it=s1.data.template get<0>().getVector().getIterator();
 
  685                    for_each_prop5<S1,S2,S3,S4,S5,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,p,op);
 
  687                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  693            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 , 
class Op >
 
  694            static void for_each6( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6 , Op op )
 
  697                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  699                auto it=s1.data.template get<0>().getVector().getIterator();
 
  703                    for_each_prop6<S1,S2,S3,S4,S5,S6,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,p,op);
 
  705                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  711            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7, 
class Op >
 
  712            static void for_each7( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7 , Op op )
 
  715                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  717                auto it=s1.data.template get<0>().getVector().getIterator();
 
  721                    for_each_prop7<S1,S2,S3,S4,S5,S6,S7,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,p,op);
 
  723                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  729            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class Op >
 
  730            static void for_each8( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8 , Op op )
 
  733                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  735                auto it=s1.data.template get<0>().getVector().getIterator();
 
  739                    for_each_prop8<S1,S2,S3,S4,S5,S6,S7,S8,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,p,op);
 
  741                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  747            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class Op >
 
  748            static void for_each9( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9 , Op op )
 
  751                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  753                auto it=s1.data.template get<0>().getVector().getIterator();
 
  757                    for_each_prop9<S1,S2,S3,S4,S5,S6,S7,S8,S9,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,p,op);
 
  759                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  765            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class Op >
 
  766            static void for_each10( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9 , S10 &s10, Op op )
 
  769                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  771                auto it=s1.data.template get<0>().getVector().getIterator();
 
  775                    for_each_prop10<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,p,op);
 
  777                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  784            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class S11, 
class Op >
 
  785            static void for_each11( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9 , S10 &s10,S11 &s11, Op op )
 
  788                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  790                auto it=s1.data.template get<0>().getVector().getIterator();
 
  794                    for_each_prop11<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,p,op);
 
  796                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  802            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class S11, 
class S12, 
class Op >
 
  803            static void for_each12( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9 , S10 &s10,S11 &s11,S12 &s12, Op op )
 
  806                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  808                auto it=s1.data.template get<0>().getVector().getIterator();
 
  812                    for_each_prop12<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,p,op);
 
  814                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  820            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class S11, 
class S12, 
class S13, 
class Op >
 
  821            static void for_each13( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9 , S10 &s10,S11 &s11,S12 &s12,S13 &s13, Op op )
 
  824                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  826                auto it=s1.data.template get<0>().getVector().getIterator();
 
  830                    for_each_prop13<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,p,op);
 
  832                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  839            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class S11, 
class S12, 
class S13, 
class S14, 
class Op >
 
  840            static void for_each14( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9, S10 &s10,S11 &s11,S12 &s12,S13 &s13,S14 &s14, Op op )
 
  843                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  845                auto it=s1.data.template get<0>().getVector().getIterator();
 
  849                    for_each_prop14<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,p,op);
 
  851                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  857            template< 
class S1 , 
class S2 , 
class S3 , 
class S4,
class S5,
class S6 ,
class S7,
class S8, 
class S9, 
class S10, 
class S11, 
class S12, 
class S13, 
class S14, 
class S15, 
class Op >
 
  858            static void for_each15( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4,S5 &s5,S6 &s6,S7 &s7,S8 &s8, S9 &s9, S10 &s10,S11 &s11,S12 &s12,S13 &s13,S14 &s14,S15 &s15, Op op )
 
  861                boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s1.data)::max_prop>>(the_resize);
 
  863                auto it=s1.data.template get<0>().getVector().getIterator();
 
  867                    for_each_prop15<S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,typename S1::index_type,Op> cp(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,p,op);
 
  869                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype( s1.data)::max_prop>>(cp);
 
  880           template<
typename vector_type,
typename index_type,
typename norm_result_type>
 
  900                    if(fabs(v.data.template get<T::value>().getVector().template get<0>(p)) > n)
 
  902                        n=fabs(v.data.template get<T::value>().getVector().template get<0>(p));
 
  909            static typename boost::numeric::odeint::vector_space_norm_inf< S >::result_type norm_inf( 
const S &s )
 
  911                typename boost::numeric::odeint::vector_space_norm_inf< S >::result_type n=0;
 
  912                auto it=s.data.template get<0>().getVector().getIterator();
 
  916                    for_each_norm<S,typename S::index_type,typename boost::numeric::odeint::vector_space_norm_inf< S >::result_type> cp(s,p,n);
 
  918                    boost::mpl::for_each_ref<boost::mpl::range_c<int,0,
decltype(s.data)::max_prop>>(cp);
 
  922                auto &v_cl = create_vcluster();
 
__device__ __host__ for_each_prop10(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop11(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, S11 &v11, index_type &p, op_type &op)
constructor
 
__device__ __host__ for_each_prop12(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, S11 &v11, S12 &v12, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop13(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, S11 &v11, S12 &v12, S13 &v13, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop14(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, S11 &v11, S12 &v12, S13 &v13, S14 &v14, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop15(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, S10 &v10, S11 &v11, S12 &v12, S13 &v13, S14 &v14, S15 &v15, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop1(vector_type &v, index_type &p, op_type &op)
constructor
 
__device__ __host__ for_each_prop2(S1 &v1, S2 &v2, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop3(S1 &v1, S2 &v2, S3 &v3, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop4(S1 &v1, S2 &v2, S3 &v3, S4 &v4, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop5(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop6(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, index_type &p, op_type &op)
constructor
 
__device__ __host__ for_each_prop7(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
__device__ __host__ for_each_prop8(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, index_type &p, op_type &op)
constructor
 
__device__ __host__ for_each_prop9(S1 &v1, S2 &v2, S3 &v3, S4 &v4, S5 &v5, S6 &v6, S7 &v7, S8 &v8, S9 &v9, index_type &p, op_type &op)
constructor
 
__device__ __host__ void operator()(T &t) const
It call the copy function for each property.
 
void operator()(T &t) const
It call the copy function for each property.
 
for_each_prop_resize(S1 &v1, S2 &v2)
constructor
 
void operator()(T &t) const
It call the copy function for each property.
 
for_each_norm(const vector_type &v, index_type &p, norm_result_type &n)
constructor